AWS CLI の一般的なパラメータタイプ - AWS Command Line Interface

AWS CLI の一般的なパラメータタイプ

このセクションでは、いくつかの一般的なパラメータタイプと一般的に必要な形式について説明します。

特定のコマンドでパラメータの書式化に問題がある場合には、コマンド名の後に help と入力することによって、ヘルプを確認してみてください。各サブコマンドのヘルプには、オプションの名前と説明が示されています。オプションのパラメータタイプは、括弧内に一覧表示されています。ヘルプ表示の詳細については、「AWS CLI のヘルプ」を参照してください。

文字列

文字列パラメータには、ASCII 文字セットの英数字、記号、空白文字が使用できます。空白文字を含む文字列は引用符で囲まれている必要があります。予期しない結果を避けるため、標準の空白文字以外の記号や空白文字は使用せず、お使いの端末の引用符のルールに従うことをお勧めします。

一部の文字列パラメータはファイルからバイナリデータを受け取ることができます。例については、「バイナリファイル」を参照してください。

タイムスタンプ

タイムスタンプの形式は ISO 8601 標準に従います。これらは「DateTime」または「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 バージョン 2 では、バイナリ値を base64 でエンコードされた文字列として、コマンドラインで直接渡すことができます。デフォルトでは、file:// プレフィックスで参照されるファイルは base64 でエンコードされたテキストとして扱われます。

cli_binary_format を設定することで、AWS CLI バージョン 2 を AWS CLI バージョン 1 に互換させることができます。

  • 設定の値が raw-in-base64-out の場合、file:// プレフィックスを使用して参照されるファイルは、raw のエンコードされていないバイナリとして扱われます。

  • 設定の値が base64 (デフォルト値) の場合、file:// プレフィックスを使用して参照されるファイルは、base64 でエンコードされたテキストとして扱われます。

fileb:// プレフィックスを使用して参照されるファイルは、cli_binary_format 設定に関係なく、常に raw のエンコードされていないバイナリとして扱われます。

詳細については、ファイル設定 cli_binary_format または --cli-binary-format コマンドラインオプションを参照してください。

注記

aws cloudsearchdomain upload-documents のようなストリーミング blob に file:// または fileb:// のプレフィックスは付けられません。代わりに、ストリーミング 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 \ --documents document-batch.json

マップ

JSON または CLI の短縮構文を使用して指定されたキーと値のペアのセット。次の JSON の例では、マップパラメータ --keyを使用して、 my-table という名前の Amazon DynamoDB テーブルから項目を読み取ります。パラメータは、ネストされた JSON 構造の数値 1id という名前のプライマリキーを指定します。

コマンドラインでより高度な JSON を使用するには、jq のようなコマンドライン JSON プロセッサを使用して JSON 文字列を作成することを検討してください。jq の詳細については、GitHubjq repository を参照してください。

$ aws dynamodb get-item --table-name my-table --key '{"id": {"N":"1"}}' { "Item": { "name": { "S": "John" }, "id": { "N": "1" } } }

Document

注記

短縮構文は、ドキュメントタイプと互換性がありません。

ドキュメントタイプは、文字列内に JSON を埋め込む必要なく、データを送信するために使用されます。ドキュメントタイプによってサービスが任意のスキーマを提供することで、より柔軟なデータ型を使用できます。

これにより、値をエスケープすることなく JSON データを送信できます。例えば、次のようにエスケープされた JSON 入力の代わりに使用します。

{"document": "{\"key\":true}"}

次のドキュメントタイプが使用できます。

{"document": {"key": true}}

ドキュメントタイプに対し有効な値

ドキュメントタイプは柔軟な性質を持っているため、有効な値のタイプは複数あります。有効な値には次のようなものがあります。

文字列
--option '"value"'
数値
--option 123 --option 123.456
ブール値
--option true
Null
--option null
配列
--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"}'