我试图使用 AppSync 更新 DynamoDb 表中的项目属性。成功后,我想使用该属性的先前值作为下一次调用的键(我正在使用管道解析器(。
要使用 DynamoDB 实现此目的,您只需将UPDATED_OLD设置为返回值。
我找不到任何用于指定适用于 AppSync 的 DynamoDB 解析程序的返回值的文档。我尝试了以下方法。
{
"version" : "2018-05-29",
"operation" : "UpdateItem",
"key": {
"id": $util.dynamodb.toDynamoDBJson("foo")
},
"condition" : {
"expression" : "attribute_exists(id)"
},
"update" : {
"expression" : "SET bar = :bar",
"expressionValues" : {
":bar" : {"S" : "$bar"}
}
},
"returnValues": "UPDATED_OLD"
}
但它不是有效的语法。
"message": "Unsupported element '$[returnValues]'."
returnValues 不是 AppSync with DynamoDB 的请求映射模板的有效字段。默认情况下,AppSync 使用 ALL_NEW 参数进行更新。