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

Python 2.7、3.4、および 3.5 は、AWS CLI バージョン 1 に対して非推奨です。詳細については、「AWS CLI バージョンについて」の AWS CLI バージョン 1 セクションを参照してください。

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

このセクションでは、いくつかの一般的なパラメータタイプと一般的に必要な形式について説明します。特定のコマンドでパラメータの書式化に問題がある場合には、次に示すようにコマンド名の後に help と入力することによって、ヘルプを確認してみてください。

$ aws ec2 describe-spot-price-history help

各サブコマンドのヘルプでは、関数、オプション、出力、および例について説明します。オプションのセクションでは、各オプションの名前と説明とともに括弧内にオプションのパラメータタイプが示されています。

String

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

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

Timestamp

タイムスタンプの形式は 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 でのみ使用可能) AWS CLI バージョン 2 はデフォルトで、すべてのレスポンスの DateTime 値を ISO 8601 形式に変換します。

List

スペースで区切られた 1 つ以上の文字列。文字列項目にスペースがある場合は、その項目を引用符で囲む必要があります。

$ aws ec2 describe-spot-price-history --instance-types m1.xlarge m1.medium

Boolean

オプションをオンまたはオフにするバイナリフラグです。例えば、ec2 describe-spot-price-history にはブール型の --dry-run パラメータがあり、このパラメータが指定されると、クエリを実際に実行することなくサービスのクエリを検証します。

$ aws ec2 describe-spot-price-history --dry-run

出力にはコマンドが正しい形式だったかどうかが示されます。このコマンドには、--no-dry-run バージョンのパラメータも含まれ、これを使用して、コマンドを通常どおりに実行することを明示的に示すことができます。これは、デフォルトの動作であるため、含める必要はありません。

Integer

符号なしの整数。

$ aws ec2 describe-spot-price-history --max-items 5

バイナリ/Blob (バイナリラージオブジェクト)

AWS CLI バージョン 1 で blob 型のパラメータに値を渡すには、バイナリデータが含まれるローカルファイルへのパスを指定する必要があります。パスにはプロトコル識別子 (http://file:// など) を含まないようにします。指定されたパスは、現在の作業ディレクトリに対する相対パスとして解釈されます。たとえば、--bodyaws s3api put-object パラメータは BLOB です。

$ aws s3api put-object --bucket my-bucket --key testimage.png --body /tmp/image.png

(AWS CLI バージョン 2 でのみ使用可能) AWS CLI バージョン 2 では、バイナリ値を base64 でエンコードされた文字列として、コマンドラインで直接渡すことができます。また、AWS CLI バージョン 2 ではデフォルトで、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」を参照してください。

Map

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" } } }