DynamoDB删除Item报错:含'='的Provided key被拒绝
解决DynamoDB delete-item命令参数解析错误问题
你遇到的错误根源是--key参数格式不符合DynamoDB的要求,这个参数不能直接传入ID字符串,必须是包含键名、类型和对应值的JSON结构。
正确命令示例
假设你的表主键名为id,类型为字符串(DynamoDB中字符串类型标识为S),正确命令如下:
aws dynamodb delete-item --table-name my-table --key '{"id": {"S": "9cjmB5rjbqYWJ6USMf9OEV13Kyoxs6VAN8xl9Sutzdl7gTpaxX2UgA=="}}'
细节说明
- 如果主键是数字类型,把
S替换为N,同时值要写成数字格式,比如{"id": {"N": "12345"}} - 不同Shell环境引号使用有区别:Bash/Zsh用单引号包裹JSON可避免转义麻烦;Windows命令提示符需要用双引号,且内部双引号要加反斜杠转义,格式为
"{\"id\": {\"S\": \"your-id\"}}"
之前加双引号或转义=的方法无效,是因为核心问题是参数结构不符合要求,而非符号转义问题。
内容的提问来源于stack exchange,提问作者Clarence the Bard
相关产品推荐
相关产品推荐

