2017-10-21 99 views
0

项目我有以下JSON格式的请求:保存JSON请求在dynamoDb

{ 
"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 
       }, 

} 

我试图挽救上述JSON请求对象使用putItem的dynamoDb表。但是我卡在一些问题,这些问题如下:

  1. 我可以将这个整体JSON请求原样(不进行转义双引号)项的dynamodb表的形式?
  2. 在likesId的情况和属性我他们分别存储为一个列表和地图与.withList和.withMap方法的帮助,但在个人资料的情况下,我把它拿走了作为有4个状态的POJO,我怎么能保存此对象和putItem因为我没有找到保存这样的对象的任何方法,因为我们有一个字符串,数字和其他数据类型的方法,我怎么能挽救我自己的对象?

任何一种指导,将不胜感激,因为我是新来dynamoDb并做POC学习它。

回答

-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是对象从原来的问题

+0

什么,我想请教的是下var params,在Item属性中如何提供我自己创建的数据类型,即我自己的类而不是预定义的数据类型。 –

+0

你不能真的 - 在一定程度上DynamoDB是无模式。它确实没有上课的概念。你必须将它保存为一个地图 – user184994

+0

好的,但把它作为一个地图有一个问题,我的个人资料的属性,地图将有2种类型的值,字符串和长。所以我不喜欢Map,比如Map 对象没有被dynamoDb标识 –