如何通过AWS CLI向DDB上传非英文字符?报错求助
解决AWS CLI加载JSON文件到DynamoDB时的解码错误
错误原因
你遇到的Unable to load paramfile... text contents could not be decoded错误,核心问题是JSON文件的编码不符合AWS CLI要求——当文件包含日文这类非ASCII字符时,若编码不是UTF-8无BOM格式,CLI就会解码失败。
解决方案
1. 修正JSON文件编码
绝大多数编辑器默认保存UTF-8时会带BOM(字节顺序标记),这是CLI解码失败的常见诱因。操作步骤:
- 用编辑器打开你的
xxx.json - 选择编码为**UTF-8(无BOM)**重新保存(比如VS Code右下角点击编码选项,切换后保存)
2. 确认CLI命令的文件前缀
你的JSON是纯文本文件,必须用file://前缀,不要误用fileb://(那是给二进制文件用的)。注意路径格式:
- Linux/macOS:
file:///path/to/xxx.json - Windows:
file://C:/your/path/xxx.json(用正斜杠)或者file:////localhost/C$/your/path/xxx.json
3. 临时测试:直接传入JSON内容
如果文件编码问题暂时排查不清,可以把JSON内容直接嵌入命令行(适合小型JSON):
aws dynamodb batch-write-item --request-items '{ "book": [ { "PutRequest": { "Item": { "id": {"S": "1"}, "test": {"S": "本の説明は、裏表紙と Amazon ページの上部 (価格の下、本のレビューの上) に最も目立つように表示されます。読者は本の説明から購入を決定するため、説得力があることが重要です。"} } } } ] }'
验证
保存编码正确的JSON后,重新运行aws dynamodb batch-write-item --request-items file://xxx.json,即可正常向DynamoDB写入数据。
内容的提问来源于stack exchange,提问作者user20256558
相关产品推荐
相关产品推荐

