2016-12-03 71 views
5

我想通过命令行向我的DynamoDB表添加项目,但我遇到了类型错误。通过CLI(unicode v。dict)AWS DynamoDB put-item的类型无效

,我试图添加的数据是非常简单的:

{ 
    "id": "1" 
} 

我跑的命令是同样简单:

aws dynamodb put-item --table-name my_table --item '{ "id": "1" }' 

我得到的错误是:

Invalid type for parameter Item.id, value: 1, type: <type 'unicode'>, valid types: <type 'dict'> 

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

回答

10

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

aws dynamodb put-item --table-name my_table --item '{ "id": {"S": "1" } }' 
+0

好奇......这是如何工作的? – samcorcos

+0

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