Amazon dynamodb 字符串集的API网关和DynamoDB PutItem
我似乎找不到如何通过API网关为DynamoDB中的StringSet正确调用PutItem。如果我像调用地图列表一样调用它,那么我会得到返回的对象。示例数据如下Amazon dynamodb 字符串集的API网关和DynamoDB PutItem,amazon-dynamodb,Amazon Dynamodb,我似乎找不到如何通过API网关为DynamoDB中的StringSet正确调用PutItem。如果我像调用地图列表一样调用它,那么我会得到返回的对象。示例数据如下 { "eventId": "Lorem", "eventName": "Lorem", "companies": [ { "companyId": "Lorem", "companyName": "Lorem" } ],
{
"eventId": "Lorem",
"eventName": "Lorem",
"companies": [
{
"companyId": "Lorem",
"companyName": "Lorem"
}
],
"eventTags": [
"Lorem",
"Lorem"
]
}
我为公司提供的示例模板调用:
"companies" : {
"L": [
#foreach($elem in $inputRoot.companies) {
"M": {
"companyId": {
"S": "$elem.companyId"
},
"companyName": {
"S": "$elem.companyName"
}
}
} #if($foreach.hasNext),#end
#end
]
}
我尝试在列出字符串集的情况下调用它,但它仍然出错,并告诉我“在未预期的位置找到了结构或映射的开始”或序列化失败
"eventTags" : {
"SS": [
#foreach($elem in $inputRoot.eventTags) {
"S":"$elem"
} #if($foreach.hasNext),#end
#end
]
}
调用PutItem将字符串数组转换为字符串集的正确方法是什么 如果您使用的是JavaScript AWS SDK,则可以使用文档客户端API(docClient.createSet)来存储集合数据类型 docClient.createSet-将数组转换为集合数据类型
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName:table,
Item:{
"yearkey": year,
"title": title
"product" : docClient.createSet(['milk','veg'])
}
};
你在使用javascript吗?我直接通过API网关中的主体模板来实现。我只是指定了application/json的一种格式。我最终选择了这种方式,并在Lambda中使用了JavaScript SDK。谢谢