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

时间:2016-12-03 23:48:28

标签: amazon-web-services amazon-dynamodb aws-cli

我想通过命令行向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可以处理的内容?

1 个答案:

答案 0 :(得分:0)

我们无法提供普通的JSON模式作为dynamodb put-item命令的输入。我们需要提供attribute(s) data type along with its value

但是,如果您具有复杂的JSON模式并且对aws dynamodb cli命令不熟悉,那么准备输入的JSON文件将变得非常繁琐。

但是我们也有一个简单的解决方案,请按照以下步骤操作:

  • 准备要插入到dynamodb表中的示例JSON模式。
  • 登录到AWS控制台,转到DynamoDB-> Tables->,然后从顶部选项卡中选择Items,它将向您显示数据(如果有的话)。
  • 现在单击Create Item,它将打开一个新窗口,然后从中选择选项Text而不是Tree。在此处粘贴示例JSON模式并保存该项目。
  • 现在选择该记录,然后从Actions中选择选项Export to .csv。该csv文件包含您的JSON属性名称(键),其对应的值以及其数据类型。
  • 现在大部分工作已经为您完成,您可以轻松地为dynamodb put-item命令构造输入JSON文件。