AWS CLI での一般的なパラメータタイプ
このセクションでは、いくつかの一般的なパラメータタイプと一般的に必要な形式について説明します。
特定のコマンドでパラメータの書式化に問題がある場合には、コマンド名の後に help と入力することによって、ヘルプを確認してみてください。各サブコマンドのヘルプには、オプションの名前と説明が示されています。オプションのパラメータタイプは、括弧内に一覧表示されています。ヘルプ表示の詳細については、「Accessing help and resources for the AWS CLI」を参照してください。
文字列
文字列パラメータには、ASCII
一部の文字列パラメータはファイルからバイナリデータを受け取ることができます。例については、「バイナリファイル」を参照してください。
タイムスタンプ
タイムスタンプの形式は ISO 8601DateTime」または「Date」パラメータと呼ばれることもあります。
$aws ec2 describe-spot-price-history--start-time 2014-10-13T19:00:00Z
有効な形式は次のとおりです。
-
YYYY-MM-DDThh:mm:ss.sssTZD (UTC)(例: 2014-10-01T20:30:00.000Z) -
YYYY-MM-DDThh:mm:ss.sssTZD (オフセットあり)(例: 2014-10-01T12:30:00.000-08:00) -
YYYY-MM-DD(例: 2014-10-01) -
Unix 時間 (秒)、例: 1412195400。これは Unix エポック時間
と呼ばれることもあり、1970 年 1 月 1 日午前 0 時 (UTC) からの秒数を表します。
AWS CLI バージョン 2 はデフォルトで、すべてのレスポンスの DateTime 値を ISO 8601 形式に変換します。
cli_timestamp_format ファイル設定を使用して、タイプスタンプ形式を設定できます。
リスト
スペースで区切られた 1 つ以上の文字列。文字列項目にスペースがある場合は、その項目を引用符で囲む必要があります。予期しない結果を避けるため。お使いの端末の引用のルールを遵守してください。
$aws ec2 describe-spot-price-history--instance-types m1.xlarge m1.medium
ブール値
オプションをオンまたはオフにするバイナリフラグです。例えば、ec2
describe-spot-price-history にはブール型の --dry-run パラメータがあり、このパラメータが指定されると、クエリを実際に実行することなくサービスのクエリを検証します。
$aws ec2 describe-spot-price-history--dry-run
出力にはコマンドが正しい形式だったかどうかが示されます。このコマンドには、--no-dry-run バージョンのパラメータも含まれ、これを使用して、コマンドを通常どおりに実行することを明示的に示すことができます。これは、デフォルトの動作であるため、含める必要はありません。
整数
符号なしの整数。
$aws ec2 describe-spot-price-history--max-items 5
バイナリ/blob (バイナリラージオブジェクト) とストリーミング blob
AWS CLI では、バイナリ値を文字列としてコマンドラインで直接渡すことができます。blob には 2 つのタイプがあります。
blob
タイプ blob で、パラメータに値を渡すには、fileb:// プレフィックスを使用してバイナリデータを含むローカルファイルへのパスを指定する必要があります。fileb:// プレフィックスを使用して参照されるファイルは、常に、エンコードされていない raw バイナリとして扱われます。指定されたパスは、現在の作業ディレクトリに対する相対パスとして解釈されます。例えば、--plaintext の aws kms encrypt パラメータは blob です。
$aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \--plaintext fileb://ExamplePlaintextFile\ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile
注記
下位互換性を保つため、file:// プレフィックスを使用できます。ファイル設定 cli_binary_format または --cli-binary-format コマンドラインオプションに応じて、次の 2 つの形式が使用されます。
-
AWS CLI バージョン 2 のデフォルト。設定の値が
base64の場合、file://プレフィックスを使用して参照されるファイルは、base64 でエンコードされたテキストとして扱われます。 -
AWS CLI バージョン 1 のデフォルト。設定の値が
raw-in-base64-outの場合、file://プレフィックスを使用して参照されるファイルはテキストとして読み取られます。AWS CLI は、これをバイナリにエンコードしようとします。
詳細については、ファイル設定 cli_binary_format または --cli-binary-format コマンドラインオプションを参照してください。
ストリーミング blob
aws cloudsearchdomain upload-documents などのストリーミング blob はプレフィックスを使用しません。代わりに、ストリーミング blob パラメータは直接ファイルパスを使用してフォーマットされます。次の例では、aws cloudsearchdomain
upload-documents コマンドに直接ファイルパス document-batch.json を使用しています。
$aws cloudsearchdomain upload-documents \ --endpoint-url https://doc-my-domain.us-west-1.cloudsearch.amazonaws.com \ --content-type application/json \ --documentsdocument-batch.json
マッピング
JSON または CLI の短縮構文を使用して指定されたキーと値のペアのセット。次の JSON の例では、マップパラメータ --keyを使用して、 my-table という名前の Amazon DynamoDB テーブルから項目を読み取ります。パラメータは、ネストされた JSON 構造の数値 1 で id という名前のプライマリキーを指定します。
コマンドラインでより高度な JSON を使用するには、jq のようなコマンドライン JSON プロセッサを使用して JSON 文字列を作成することを検討してください。jq の詳細については、GitHub の jq repository
$aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}'{ "Item": { "name": { "S": "John" }, "id": { "N": "1" } } }
ドキュメント
注記
短縮構文は、ドキュメントタイプと互換性がありません。
ドキュメントタイプは、文字列内に JSON を埋め込む必要なく、データを送信するために使用されます。ドキュメントタイプによってサービスが任意のスキーマを提供することで、より柔軟なデータ型を使用できます。
これにより、値をエスケープすることなく JSON データを送信できます。例えば、次のようにエスケープされた JSON 入力の代わりに使用します。
{"document": "{\"key\":true}"}
次のドキュメントタイプが使用できます。
{"document": {"key": true}}
ドキュメントタイプに対し有効な値
ドキュメントタイプは柔軟な性質を持っているため、有効な値のタイプは複数あります。有効な値には次のようなものがあります。
- 文字列
-
--option'"value"' - 数
-
--option123--option123.456 - ブール値
-
--optiontrue - Null
-
--optionnull - 配列
-
--option'["value1", "value2", "value3"]'--option'["value", 1, true, null, ["key1", 2.34], {"key2": "value2"}]' - オブジェクト
-
--option'{"key": "value"}'--option'{"key1": "value1", "key2": 123, "key3": true, "key4": null, "key5": ["value3", "value4"], "key6": {"value5": "value6"}'