AWS Command Line Interface
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将 Amazon DynamoDB 与 AWS CLI 结合使用

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

要列出 DynamoDB 的 AWS CLI 命令,请使用以下命令。

aws dynamodb help

在运行任何命令之前,请设置默认证书。有关更多信息,请参阅 配置 AWS CLI

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

例如,以下命令可创建一个名为 MusicCollection 的表。

注意

为便于阅读,本节中的长命令分行显示。反斜杠字符是 Linux 命令行的行继续符,可让您将多个行复制并粘贴(或输入)到 Linux 提示符处。如果您使用的是不使用反斜杠进行行继续的 shell,请将反斜杠替换为该 shell 的行继续符。或者删除反斜杠并将整个命令放在一行上。

$ 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。为了使之更简单,AWS CLI 可以读取 JSON 文件。例如,请考虑以下 JSON 代码段,它存储在一个名为 expression-attributes.json 的文件中。

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

您可以使用此文件通过 AWS CLI 发出 query 请求。在下面的示例中,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 }

有关将 AWS CLI 与 DynamoDB 结合使用的更多信息,请参阅 AWS CLI Command Reference中的 DynamoDB

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

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