在 中使用速記語法 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

等同於下列範例,以 JSON 格式。

--option '{"key1":"value1","key2":"value2","key3":"value3"}'
Windows
--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

將檔案載入為速記語法值

當值較大或複雜時,載入 做為值通常比較容易。若要將檔案載入為速記語法值,格式會稍微變更。您將key=value使用 @= 運算子而非 =運算子。@= 表示 AWS CLI 值應該讀取為檔案路徑,而不是字串。以速記語法載入檔案時,AWS CLI 適用一般的檔案格式規則。下列範例顯示金鑰值對載入檔案的值。

Linux or macOS
--option key@=file://template.txt
Windows
--option "key1@=file://template.txt"

下列範例示範為 aws rolesanywhere create-trust-anchor命令載入憑證檔案。

$ aws rolesanywhere create-trust-anchor --name TrustAnchor \ --source sourceData={x509CertificateData@=file://root-ca.crt},sourceType="CERTIFICATE_BUNDLE" \ --enabled

搭配 使用速記語法 AWS CLI

您可以用兩種方式指定清單形式中的輸入參數:JSON 或速記。 AWS 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"} ]'