我似乎无法通过API网关找到如何在DynamoDB中为StringSet正确调用PutItem。如果我像对待地图列表一样调用它,那么我会返回对象。示例数据如下。
{
"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将字符串数组转换为字符串集的正确方法是什么?
答案 0 :(得分:0)
如果您使用的是JavaScript AWS SDK,则可以使用文档客户端API(docClient.createSet)来存储SET数据类型。
docClient.createSet - 将数组转换为SET数据类型
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName:table,
Item:{
"yearkey": year,
"title": title
"product" : docClient.createSet(['milk','veg'])
}
};