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 では、バイナリ値を文字列としてコマンドラインで直接渡すことができます。blob には 2 つのタイプがあります。

blob

タイプ blob で、パラメータに値を渡すには、fileb:// プレフィックスを使用してバイナリデータを含むローカルファイルへのパスを指定する必要があります。fileb:// プレフィックスを使用して参照されるファイルは、常に、エンコードされていない raw バイナリとして扱われます。指定されたパスは、現在の作業ディレクトリに対する相対パスとして解釈されます。例えば、--plaintextaws 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 \ --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" } } }

ドキュメント

注記

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

ドキュメントタイプは、文字列内に 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"}'