通过CLI为AWS DynamoDB put-item提供的无效类型(unicode v.dict)

sam*_*cos 18 amazon-web-services amazon-dynamodb aws-cli

我想通过命令行向DynamoDB表添加一个项目,但是我遇到了类型错误.

我想要添加的数据非常简单:

{
  "id": "1"
}
Run Code Online (Sandbox Code Playgroud)

我正在运行的命令同样简单:

aws dynamodb put-item --table-name my_table --item '{ "id": "1" }'
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Invalid type for parameter Item.id, value: 1, type: <type 'unicode'>, valid types: <type 'dict'>
Run Code Online (Sandbox Code Playgroud)

我来自JavaScript背景,所以我不熟悉dict类型.根据我从我读过的一些资料中理解,这是一个Python的东西?如何将我的数据更改为DynamoDB可以处理的内容?

hel*_*bye 32

你需要添加类型信息(我在这里假设字符串)

aws dynamodb put-item --table-name my_table --item '{ "id": {"S": "1" } }'
Run Code Online (Sandbox Code Playgroud)

  • 啊,我明白你的意思了。对他们来说这是一个有趣的决定。我想下一步是编写一个脚本来自动发现类型和重新格式化。谢谢!http://docs.aws.amazon.com/cli/latest/reference/dynamodb/put-item.html#options (2认同)