使用 Amazon CLI - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Amazon CLI

您可以使用 Amazon Command Line Interface (Amazon CLI) 从命令行管理多个 Amazon 服务并通过脚本自动执行这些服务。您可以使用 Amazon CLI 进行临时操作,如创建表。您还可以使用它在实用工具脚本中嵌入 Amazon DynamoDB 操作。

您必须先获取访问密钥 ID 和秘密访问密钥,然后才能将 Amazon CLI 与 DynamoDB 结合使用。有关更多信息,请参阅 获取 Amazon 访问密钥

有关 Amazon CLI 中 DynamoDB 所有可用命令的完整列表,请参阅 Amazon CLI 命令参考

下载和配置 Amazon CLI

http://aws.amazon.com/cli 提供 Amazon CLI。它在 Windows、macOS 或 Linux 上运行。下载 Amazon CLI 后,可执行以下步骤安装和配置:

将 Amazon CLI 与 DynamoDB 结合使用

命令行格式包含 DynamoDB 操作名称,后跟该操作的参数。Amazon CLI 支持参数值的速记语法以及 JSON。

例如,以下命令可创建一个名为 Music 的表。分区键为 Artist,排序键为 SongTitle。(为便于阅读,本部分中的长命令分行显示。)

aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1 \ --table-class STANDARD

以下命令可将新项目添加到表。这些示例使用速记语法和 JSON 的组合。

aws dynamodb put-item \ --table-name Music \ --item \ '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"}}' \ --return-consumed-capacity TOTAL aws dynamodb put-item \ --table-name Music \ --item '{ \ "Artist": {"S": "Acme Band"}, \ "SongTitle": {"S": "Happy Day"}, \ "AlbumTitle": {"S": "Songs About Life"} }' \ --return-consumed-capacity TOTAL

在命令行上,难以编写有效的 JSON。然而,Amazon CLI 可以读取 JSON 文件。例如,请考虑以下 JSON 代码段,它存储在一个名为 key-conditions.json 的文件中。

{ "Artist": { "AttributeValueList": [ { "S": "No One You Know" } ], "ComparisonOperator": "EQ" }, "SongTitle": { "AttributeValueList": [ { "S": "Call Me Today" } ], "ComparisonOperator": "EQ" } }

您现在可以使用 Amazon CLI 发出 Query 请求。在该示例中,key-conditions.json 文件的内容用于 --key-conditions 参数。

aws dynamodb query --table-name Music --key-conditions file://key-conditions.json

将 Amazon CLI 与可下载的 DynamoDB 结合使用

Amazon CLI 也可与在您的计算机上运行的 DynamoDB(可下载版本)交互。要启用此功能,请向每个命令添加以下参数:

--endpoint-url http://localhost:8000

下面的示例使用 Amazon CLI 列出本地数据库中的表。

aws dynamodb list-tables --endpoint-url http://localhost:8000

如果 DynamoDB 使用的端口号不是默认值 (8000),请相应修改 --endpoint-url 值。

注意

Amazon CLI 无法将可下载版本的 DynamoDB 作为默认端点。因此,您必须对每个命令指定 --endpoint-url