在 Amazon CLI 中使用 Amazon DynamoDB
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
命令,您需要:
安装和配置 Amazon CLI。有关更多信息,请参阅安装或更新最新版本的 Amazon CLI 和Amazon CLI 身份验证和访问凭证。
创建和使用 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 参考:》
《服务参考:》
-
Amazon DynamoDB 开发人员指南中的 DynamoDB Local
-
Amazon DynamoDB 开发人员指南中的将 Amazon CLI 与 DynamoDB Local 结合使用