我想通过命令行向DynamoDB表添加一个项目,但是我遇到了类型错误。
我想要添加的数据非常简单:
{
"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可以处理的内容?
答案 0 :(得分:0)
我们无法提供普通的JSON模式作为dynamodb put-item
命令的输入。我们需要提供attribute(s) data type along with its value。
但是,如果您具有复杂的JSON模式并且对aws dynamodb cli
命令不熟悉,那么准备输入的JSON文件将变得非常繁琐。
但是我们也有一个简单的解决方案,请按照以下步骤操作:
Items
,它将向您显示数据(如果有的话)。Create Item
,它将打开一个新窗口,然后从中选择选项Text
而不是Tree
。在此处粘贴示例JSON模式并保存该项目。Actions
中选择选项Export to .csv
。该csv文件包含您的JSON属性名称(键),其对应的值以及其数据类型。dynamodb put-item
命令构造输入JSON文件。