DynamoDB 简单 UpdateItem 抛出“提供的关键元素与架构不匹配”ValidationException
Posted
技术标签:
【中文标题】DynamoDB 简单 UpdateItem 抛出“提供的关键元素与架构不匹配”ValidationException【英文标题】:DynamoDB simple UpdateItem throwing "The provided key element does not match the schema" 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 也有同样的问题。 【参考方案1】:如果您的 hashkey 列名为“threadId”,您的更新应如下所示:
"TableName": "thread1",
"Key":
"threadId": "AA"
,
"AttributeUpdates":
"field1":
"Value": "Worked!"
【讨论】:
谢谢!将其更改为 "Key": "threadId": "S": "AA" 后它起作用了以上是关于DynamoDB 简单 UpdateItem 抛出“提供的关键元素与架构不匹配”ValidationException的主要内容,如果未能解决你的问题,请参考以下文章
EB Worker cron.yaml - 无权执行:dynamodb:UpdateItem
“sls dynamodb start”抛出 spawn java ENOENT
使用 DynamoDB 和 Graal 自定义运行时的 Micronaut 无服务器应用程序抛出无法构造 com.amazonaws.partitions.model.Partitions 的实例