メニュー
AWS Command Line Interface
ユーザーガイド

AWS Command Line Interface を使用した短縮構文の使用

AWS Command Line Interface は、JSON 形式の非スカラーオプションパラメータを取得できますが、コマンドラインで大規模な JSON リストまたは JSON 構造を入力するのに手間がかかる場合があります。この問題に対処するため、AWS CLI では、完全な JSON 形式の使用ではなく、オプションパラメータをより簡単に表現できる短縮構文をサポートしています。

構造パラメータ

AWS CLI の短縮構文を利用すると、ユーザーがフラットなパラメータ (ネストされていない構造) に入力するのが容易になります。形式は、キーと値のペアのカンマ区切りリストです。

Linux, macOS, or Unix

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

Windows PowerShell

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

これは、JSON 形式の次の例と同じになっています。

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

それぞれのカンマ区切りのキーと値のペアの間に空白があってはいけません。これは、省略表現で指定された --provisioned-throughput オプションを使用した DynamoDB update-table コマンドの例です。

$ 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

リストパラメータ

リストフォーム内の入力パラメータリストは JSON および省略形の 2 つの方法で指定できます。AWS CLI の短縮構文は、数値、文字列、またはネストされていない構造体が含まれるリストを簡単に渡せるように設計されています。基本的な形式を次に示します。ここで、リストの値は、1 つのスペースで区切られます。

--option value1 value2 value3

これは、JSON 形式の次の例と同じになっています。

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

前述したように、数字のリスト、文字列のリスト、またはネストされていない構造の省略表現のリストを指定できます。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 EC2create-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"} ]'