样本测试数据:
"suppliers" : [
{
"supplierName": "xxx supplier"
},
{
"supplierName": "zzz supplier"
}
]
UpdateItem参数的摘录:
ExpressionAttributeValues:{
":sA" : {L: [event.suppliers]}
// ":sA" : {L: event.suppliers}
}
我遇到“ UnexpectedParameter:在参数中找到了意外的键'0'” 。我尝试更改AttributeValues的格式,但遇到其他错误,例如“ UnexpectedParameter:在参数中找到了意外的键'supplierName'”。。
我需要帮助来正确定义列表AttributeValue。请注意,输入的样本测试数据可能包含x个SupplierName对象,因此在AttributeValue中定义键(即“ 0”,“ 1”等)也不是一种选择。我也不想使用UpdateItem的documentClient版本。
答案 0 :(得分:0)
ExpressionAttributeValues
将为更新表达式的参数设置一个值,例如:
dynamoDb.update({
TableName: ...,
Key: ...,
UpdateExpression: 'set suppliers = :suppliers',
ExpressionAttributeValues: {':suppliers': event.suppliers}
}
您必须提供记录的密钥,然后才能更改suppliers
属性。