使用 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 和配置 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
。