将JSON请求保存为dynamoDb中的Item

时间:2017-10-21 10:29:47

标签: java json database amazon-web-services amazon-dynamodb

我有以下JSON格式的请求:

{
 "profile": {
             "created": 1505202655,
             "createdBy": "abc",
             "updated": 1505202655,
             "updatedBy": "xyz"
            },
"likesId": [
            "0010127916"
           ],
"icon": null,
"Attributes": {
               "backgroundColor": "#FFFFFF",
               "logo": "images/Logos/P0010127916.jpg",
               "textColor": "#000000"
              },
"profileId": "PACYG0010916",
"restrictions": {
                 "clients": [
                             "Android",
                             "SmartTv"
                            ],
                 "UserTypes": [
                               "user1",
                               "user2"
                            ],
                 "periodEnd": 1512978849,
                 "periodStart": 1505202849
               },

}

我正在尝试使用putItem在dynamoDb表中保存上面的JSON请求对象。但是我遇到了一些问题,如下:

  1. 我可以按照Dynamodb表格中的项目形式存储整个JSON请求(不转义双引号)吗?
  2. 在likesId和Attributes的情况下,我分别在.withList和.withMap方法的帮助下将它们存储为List和Map,但是在配置文件的情况下我把它作为一个有4种状态的POJO,我怎么能使用putItem保存此对象,因为我没有找到任何保存此类对象的方法,因为我们有字符串,数字和其他数据类型的方法,如何保存自己的对象?
  3. 任何类型的指导都将受到高度赞赏,因为我是dynamoDb的新手,并通过POC来学习它。

1 个答案:

答案 0 :(得分:-1)

您应该可以使用DocumentClient类轻松保存它:

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#put-property

var params = {
  TableName : 'Table',
  Item: item
};

var documentClient = new AWS.DynamoDB.DocumentClient();

documentClient.put(params, function(err, data) {
  if (err) console.log(err);
  else console.log(data);
});

item是原始问题中的对象