如何解决AWS CLI:解析参数'--item'时出错:无效的JSON:
我正在尝试运行以下命令
aws dynamodb put-item \
--table-name TABLENAME \
--item file://accounts.json \
--profile ACCOUNTID \
--region us-east-1
TABLENAME和ACCOUNTID不是变量。只是擦洗他们的真实姓名。
json文件如下
[
{
"accountid": {"N": "ACCOUNTID"},"accountname": {"S": "ACCOUNTNAME"}
},{
"accountid": {"N": "ACCOUNTID"},"accountname": {"S": "ACCOUNTNAME"}
}
]
此示例中的帐户信息也被清除
我不断得到
Error parsing parameter '--item': Invalid JSON:
我已经在各种验证器上检查了JSON,并表明它是正确的。
我还使用了以下json文件
{
"accountid": {"N": "090697449863"},"accountname": {"S": "awc-n-sf-devops"}
}
将一个项目放在表中,即可正常工作。
我在json文件中缺少2个导致错误的项吗?
谢谢。
解决方法
好像现在put-item不支持插入多个项目。您必须使用batch-write-item
下面的示例可以帮助您了解如何使用batch-write-item
。
accounts.json文件的内容
{
"test-table": [
{
"PutRequest": {
"Item": {
"accountid": {
"S": "100"
},"accountname": {
"S": "ACCOUNTNAME1"
}
}
}
},{
"PutRequest": {
"Item": {
"accountid": {
"S": "101"
},"accountname": {
"S": "ACCOUNTNAME2"
}
}
}
}
]
}
CLI命令
aws dynamodb batch-write-item --region us-east-1 --profile ACCOUNTID --request-items file://accounts.json
它将插入accounts.json
文件中提到的所有项目。
也可以使用put-item
插入多个项目,但是您需要一个一个地遍历所有项目并将其插入表中(可以使用任何SDK)。我相信这不是最佳解决方案,因为您将多次调用put-item
API。
put-item功能允许您放置一个项目,而不是多个项目。
将batch-write-item用于多个项目,或对每个项目调用put-item
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。