保存JSON请求在dynamoDb
问题描述:
项目我有以下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表。但是我卡在一些问题,这些问题如下:
- 我可以将这个整体JSON请求原样(不进行转义双引号)项的dynamodb表的形式?
- 在likesId的情况和属性我他们分别存储为一个列表和地图与.withList和.withMap方法的帮助,但在个人资料的情况下,我把它拿走了作为有4个状态的POJO,我怎么能保存此对象和putItem因为我没有找到保存这样的对象的任何方法,因为我们有一个字符串,数字和其他数据类型的方法,我怎么能挽救我自己的对象?
任何一种指导,将不胜感激,因为我是新来dynamoDb并做POC学习它。
答
你应该能够与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
是对象从原来的问题
什么,我想请教的是下var params,在Item属性中如何提供我自己创建的数据类型,即我自己的类而不是预定义的数据类型。 –
你不能真的 - 在一定程度上DynamoDB是无模式。它确实没有上课的概念。你必须将它保存为一个地图 – user184994
好的,但把它作为一个地图有一个问题,我的个人资料的属性,地图将有2种类型的值,字符串和长。所以我不喜欢Map,比如Map对象没有被dynamoDb标识 –