DynamoDB简单的UpdateItem抛出"提供的关键元素与架构不匹配" ValidationException

时间:2017-05-22 20:12:19

标签: amazon-web-services amazon-dynamodb aws-sdk aws-api-gateway

我试图更新只有Hashkey(threadId)的DynamoDB表(thread1)中的字符串字段。具有threadId =" AA"的文档肯定存在,也有field1属性。

我得到&#34;提供的关键元素与架构不匹配&#34; ValidationException当使用以下Body Mapping模板调用来自API Gateway的UpdateItem的POST时。< / p>

{
  "TableName": "thread1",
  "Key": {
    "HashKeyElement": {
      "S": "AA"
    }
  },
  "AttributeUpdates": {
    "field1": {
      "Value": {
        "S": "Worked!"
      }
    }
  }
}

我也尝试过使用UpdateExpression,它也会出现同样的错误。

1 个答案:

答案 0 :(得分:1)

如果您的hashkey列被调用&#39; threadId&#39;,您的更新应如下所示:

{
  "TableName": "thread1",
  "Key": {
    "threadId": "AA"
  },
  "AttributeUpdates": {
    "field1": {
      "Value": "Worked!"
    }
  }
}