将 Amazon DynamoDB 与 Amazon CLI 结合使用 - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Amazon DynamoDB 与 Amazon CLI 结合使用

Amazon DynamoDB 简介

Amazon Command Line Interface (Amazon CLI) 为所有Amazon数据库服务(包括 Amazon DynamoDB)提供支持。您可以使用 Amazon CLI 进行临时操作,如创建表。您还可以使用它在实用工具脚本中嵌入 DynamoDB 操作。

有关将 Amazon CLI 与 DynamoDB 结合使用的更多信息,请参阅《Amazon CLI 命令参考》中的 dynamodb

要列出适用于 DynamoDB 的 Amazon CLI 命令,请使用以下命令。

$ aws dynamodb help

先决条件

要运行 dynamodb 命令,您需要:

创建和使用 DynamoDB 表

命令行格式为 DynamoDB 命令名称后接该命令的参数。Amazon CLI 对于参数值支持 CLI 速记语法和完全 JSON。

下面的示例创建了一个名为 MusicCollection 的表。

$ aws dynamodb create-table \ --table-name MusicCollection \ --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

您可以使用类似下面的命令向表中添加新行,如以下示例所示。这些示例使用速记语法和 JSON 的组合。

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

可能难以在单行命令中编写有效的 JSON。为了使之更简单,Amazon CLI 可以读取 JSON 文件。例如,请考虑以下 JSON 代码段,它存储在一个名为 expression-attributes.json 的文件中。

{ ":v1": {"S": "No One You Know"}, ":v2": {"S": "Call Me Today"} }

您可以使用此文件通过 query 发出 Amazon CLI 请求。在下面的示例中,expression-attributes.json 文件的内容用作 --expression-attribute-values 参数的值。

$ aws dynamodb query --table-name MusicCollection \ --key-condition-expression "Artist = :v1 AND SongTitle = :v2" \ --expression-attribute-values file://expression-attributes.json { "Count": 1, "Items": [ { "AlbumTitle": { "S": "Somewhat Famous" }, "SongTitle": { "S": "Call Me Today" }, "Artist": { "S": "No One You Know" } } ], "ScannedCount": 1, "ConsumedCapacity": null }

使用 DynamoDB Local

除了 DynamoDB 之外,您还可以将 Amazon CLI 与 DynamoDB Local 结合使用。DynamoDB Local 是模拟 DynamoDB 服务的小客户端数据库和服务器。通过 DynamoDB Local 可编写使用 DynamoDB API 的应用程序,而无需操作 DynamoDB Web 服务中的任何表或数据。而所有 API 操作均重新路由到本地数据库。这样可节省预配置吞吐量、数据存储和数据传输费用。

有关 DynamoDB Local 以及如何将其与 Amazon CLI 结合使用的更多信息,请参阅 Amazon DynamoDB 开发人员指南中的以下部分:

资源

Amazon CLI 参考:

服务参考: