AWS Cloud9调用JSON批量写入DynamoDB报错问题排查
解决DynamoDB batch-write-item批量插入失败的问题
问题根源
你的请求存在两个关键错误:
- JSON结构不符合AWS CLI要求:
batch-write-item的--request-items参数要求特定格式——外层是数据表名称,内层是包含PutRequest的数组,每个PutRequest里才是单条数据的Item对象。你直接将多个对象并列,既不符合API格式,也不是合法的顶层JSON结构(JSON顶层只能是单个对象或数组)。 - JSON语法错误:最后一条数据中
"SenorDescription": {"S": "Minnesota Vikings"}末尾缺少逗号,导致解析失败。
修正后的JSON示例
假设你的数据表名为SensorsTable,修正后的JSON结构如下(仅展示部分数据,其余数据按相同格式补充):
{ "SensorsTable": [ { "PutRequest": { "Item": { "ImageFile": {"S": "/Images/Bears.png"}, "SenorDescription": {"S": "Chicago Bears"}, "SampleRate": {"N": "2020"}, "Sensor": {"S": "001"}, "Locations": {"S": "Chicago IL"} } } }, { "PutRequest": { "Item": { "ImageFile": {"S": "/Images/Vikings.png"}, "SenorDescription": {"S": "Minnesota Vikings"}, "SampleRate": {"N": "2039"}, "Sensor": {"S": "020"}, "Locations": {"S": "Minnesota MN"} } } } ] }
注意:所有数据都需要按上述格式包裹,同时确保每个
Item内的键值对末尾逗号正确,最后一个键值对无需添加逗号。
重新执行命令
使用修正后的JSON文件,执行原命令即可完成批量插入:
aws dynamodb batch-write-item --request-items file://TestCLI/Sensors.json
内容的提问来源于stack exchange,提问作者Dreed66
相关产品推荐
相关产品推荐

