通过 CLI 的 AWS DynamoDB put-item 类型无效(unicode v.dict)
Invalid type for AWS DynamoDB put-item via CLI (unicode v. dict)
我想通过命令行向我的 DynamoDB table 添加一个项目,但是我 运行 遇到类型错误。
我要添加的数据非常简单:
{
"id": "1"
}
我运行ning的命令同样简单:
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 可以处理的数据?
你需要添加类型信息(我这里假设是String)
aws dynamodb put-item --table-name my_table --item '{ "id": {"S": "1" } }'
我们无法提供纯 JSON 模式作为 dynamodb put-item
命令的输入。我们需要提供 attribute(s) data type along with its value.
但是如果您有一个复杂的 JSON 模式并且您是 aws dynamodb cli
命令的新手,那么准备输入 JSON 文件就变得非常乏味。
但我们也有一个简单的解决方案,请按照以下步骤操作:
- 准备一个示例 JSON 模式,您要将其插入到您的 dynamodb table。
- 登录到 AWS 控制台,转到 DynamoDB -> Tables -> ,然后从顶部选项卡中选择
Items
,它会显示数据(如果有的话)。
- 现在点击
Create Item
,它将打开一个新的 window,然后从那里选择选项 Text
而不是 Tree
。将示例 JSON 架构粘贴到此处并保存此项。
- 现在 Select 该记录并从
Actions
选择选项 Export to .csv
。此 csv 文件包含您的 JSON 属性名称(键)、它们的相应值及其数据类型。
- 现在大部分工作已经为您完成,您可以轻松地为您的
dynamodb put-item
命令构建输入 JSON 文件。
我想通过命令行向我的 DynamoDB table 添加一个项目,但是我 运行 遇到类型错误。
我要添加的数据非常简单:
{
"id": "1"
}
我运行ning的命令同样简单:
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 可以处理的数据?
你需要添加类型信息(我这里假设是String)
aws dynamodb put-item --table-name my_table --item '{ "id": {"S": "1" } }'
我们无法提供纯 JSON 模式作为 dynamodb put-item
命令的输入。我们需要提供 attribute(s) data type along with its value.
但是如果您有一个复杂的 JSON 模式并且您是 aws dynamodb cli
命令的新手,那么准备输入 JSON 文件就变得非常乏味。
但我们也有一个简单的解决方案,请按照以下步骤操作:
- 准备一个示例 JSON 模式,您要将其插入到您的 dynamodb table。
- 登录到 AWS 控制台,转到 DynamoDB -> Tables -> ,然后从顶部选项卡中选择
Items
,它会显示数据(如果有的话)。 - 现在点击
Create Item
,它将打开一个新的 window,然后从那里选择选项Text
而不是Tree
。将示例 JSON 架构粘贴到此处并保存此项。 - 现在 Select 该记录并从
Actions
选择选项Export to .csv
。此 csv 文件包含您的 JSON 属性名称(键)、它们的相应值及其数据类型。 - 现在大部分工作已经为您完成,您可以轻松地为您的
dynamodb put-item
命令构建输入 JSON 文件。