【发布时间】:2019-01-06 23:32:39
【问题描述】:
尝试使用 Appsync dynamodb 解析器有条件地更新 dynamodb 中的项目。当通过 App 同步查询面板测试条件更新时,通过提供不正确的用户名,即使这样操作也会通过,并且使用新的 price 和 modifyDate 值更新数据库。这是解析器的代码:
{
"version" : "2017-02-28",
"operation" : "UpdateItem",
"key" : {
"id": $util.dynamodb.toDynamoDBJson($ctx.args.input.id)
},
"update" : {
"expression" : "SET price = :price, modificationDate = :newDate",
"expressionValues": {
":price" : { "N": $context.arguments.input.price },
":newDate": $util.dynamodb.toDynamoDBJson($util.time.nowISO8601())
}
},
"condition" : {
"expression" : "username = :expectedOwner",
"expressionValues" : {
":expectedOwner" : { "S" : "${context.identity.username}" }
}
}
}
条件表达式有错误吗?
【问题讨论】:
标签: database amazon-web-services amazon-dynamodb aws-appsync