将 Amazon DynamoDB 与 AWS CLI 结合使用 - 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

命令行格式为 DynamoDB 命令名称后接该命令的参数。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 开发人员指南 中的以下部分: