【问题标题】:DynamoDB simple UpdateItem throwing "The provided key element does not match the schema" ValidationExceptionDynamoDB 简单 UpdateItem 抛出“提供的关键元素与架构不匹配”ValidationException
【发布时间】:2017-05-22 20:12:19
【问题描述】:

我正在尝试更新仅具有 Hashkey(threadId) 的 DynamoDB 表 (thread1) 中的字符串字段。 threadId = "AA" 的文档肯定存在并且还具有 field1 属性。

当使用以下正文映射模板调用 API 网关的 UpdateItem POST 时,我收到 “提供的关键元素与架构不匹配” ValidationException。

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

我也尝试过使用 UpdateExpression 进行相同的操作,但也出现了同样的错误。

【问题讨论】:

  • GetItem POST 也有同样的问题。

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


【解决方案1】:

如果您的 hashkey 列名为“threadId”,您的更新应如下所示:

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

【讨论】:

  • 谢谢!将其更改为 "Key": { "threadId": { "S": "AA" } 后它起作用了
猜你喜欢
  • 2015-10-31
  • 1970-01-01
  • 2021-08-26
  • 2019-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-14
  • 1970-01-01
相关资源
最近更新 更多