4

我正在尝试使用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]'."
4

1 回答 1

3

returnValues 不是 AppSync 与 DynamoDB 的请求映射模板的有效字段。默认情况下,AppSync 使用ALL_NEW参数进行更新。

于 2019-04-15T17:22:30.340 回答