在中使用速记语法 AWS CLI - AWS Command Line Interface

本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在中使用速记语法 AWS CLI

AWS Command Line Interface (AWS CLI) 可以接受其许多JSON格式化选项参数。但是,在命令行上输入大型JSON列表或结构可能很乏味。为了简化此操作, AWS CLI 还支持一种速记语法,与使用完整JSON格式相比,该语法可以更简单地表示选项参数。

结构参数

中的速记语法使用户 AWS CLI 可以更轻松地输入扁平参数(非嵌套结构)。格式采用以逗号分隔的键值对列表。请务必使用适用于终端的引用以及转义规则,因为速记语法是字符串。

Linux or 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

将速记语法与 AWS Command Line Interface

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

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

--option value1 value2 value3

这等同于以下示例,格式为JSON。

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

如前所述,您可以用速记语法指定数字列表、字符串列表或非嵌套结构的列表。以下是亚马逊弹性计算云 (AmazonEC2) 的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"} ]'