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

Amazon CLI 版本 1 将弃用 Python 2.7、3.4 和 3.5。有关更多信息,请参阅关于 Amazon CLI 版本的 Amazon CLI 版本 1 部分。

将速记语法与 Amazon CLI 结合使用

Amazon Command Line Interface (Amazon CLI) 可以接受 JSON 格式的许多选项。但是,在命令行上输入较大的 JSON 列表或结构会比较繁琐。为了简化此过程,Amazon CLI 还支持一种速记语法,允许采用比完整 JSON 格式更简单的方式表示选项参数。

结构参数

通过 Amazon CLI 中的速记语法,用户更容易输入平面(非嵌套结构)参数。格式采用以逗号分隔的键值对列表。

Linux 或 macOS

--option key1=value1,key2=value2,key3=value3

PowerShell

--option "key1=value1,key2=value2,key3=value3"

这两者均等同于以下采用 JSON 格式的示例。

--option '{"key1":"value1","key2":"value2","key3":"value3"}'

各逗号分隔的键值对之间不能有空格。下面的示例 Amazon DynamoDB update-table 命令包含采用速记语法指定的 --provisioned-throughput 选项。

$ aws dynamodb update-table \ --provisioned-throughput ReadCapacityUnits=15,WriteCapacityUnits=10 \ --table-name MyDDBTable

该示例等同于以下 JSON 格式的示例。

$ aws dynamodb update-table \ --provisioned-throughput '{"ReadCapacityUnits":15,"WriteCapacityUnits":10}' \ --table-name MyDDBTable

将速记语法与 Amazon Command Line Interface 结合使用

您可以使用两种方法以列表形式指定输入参数:JSON 或速记。使用 Amazon CLI 速记语法,可更方便地传入含有数字、字符串或非嵌套结构的列表。

下面显示了基本格式,列表中的值用单个空格分隔。

--option value1 value2 value3

该示例等同于以下 JSON 格式的示例。

--option '[value1,value2,value3]'

如前所述,您可以用速记语法指定数字列表、字符串列表或非嵌套结构的列表。以下是用于 Amazon Elastic Compute Cloud (Amazon EC2) 的 stop-instances 命令示例,其中,--instance-ids 选项的输入参数(字符串列表)采用速记语法指定。

$ aws ec2 stop-instances \ --instance-ids i-1486157a i-1286157c i-ec3a7e87

该示例等同于以下 JSON 格式的示例。

$ aws ec2 stop-instances \ --instance-ids '["i-1486157a","i-1286157c","i-ec3a7e87"]'

下面的示例显示 Amazon EC2 create-tags 命令,该命令针对 --tags 选项使用非嵌套结构的列表。--resources 选项指定要添加标签的实例的 ID。

$ aws ec2 create-tags \ --resources i-1286157c \ --tags Key=My1stTag,Value=Value1 Key=My2ndTag,Value=Value2 Key=My3rdTag,Value=Value3

该示例等同于以下 JSON 格式的示例。JSON 参数分多行编写以便于阅读。

$ aws ec2 create-tags \ --resources i-1286157c \ --tags '[ {"Key": "My1stTag", "Value": "Value1"}, {"Key": "My2ndTag", "Value": "Value2"}, {"Key": "My3rdTag", "Value": "Value3"} ]'