You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS CLI删除DynamoDB条目遇ValidationException错误求助

问题根源

你的DynamoDB表采用了复合主键(分区键+排序键),其中:

  • 分区键是primaryKeyAttributeName
  • 排序键是sortKeyCreatedOn

你在key.json里错误地将普通属性AttributeName2作为主键的一部分传入,而get-item和delete-item操作要求必须指定完整的主键组合,这直接导致了ValidationException错误。

至于query命令能正常工作,是因为query只需要指定分区键,就可以返回该分区下的所有条目,不需要排序键。

解决方法
  1. 确认表的主键结构(可选但推荐)
    执行以下命令查看表的主键定义,确保你对主键的判断正确:
aws dynamodb describe-table --table-name table-name

返回结果的KeySchema字段里,会明确显示分区键(KeyType: HASH)和排序键(KeyType: RANGE)的名称。

  1. 修正key.json内容
    将key.json中的AttributeName2替换为正确的排序键sortKeyCreatedOn,并填入对应条目的排序键值:
{
    "primaryKeyAttributeName": {"S": "2024-06-17"},
    "sortKeyCreatedOn": {"S": "2024-06-17Txx:xx:xx.xxx"}
}

注意把xx:xx:xx.xxx替换成该条目实际的时间戳值。

  1. 重新执行删除命令
    再次运行你原来的delete-item命令,就能正常删除目标条目了。

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:02:39