中的常見參數類型 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

中的常見參數類型 AWS CLI

本節說明一些常見的參數類型和典型必要格式。

如果您對特定命令的參數格式有問題,請在命令名稱後輸入 help 來檢視說明。每個子命令的幫助包括選項的名稱和說明。該選項的參數類型在括弧中列出。如需檢視說明的詳細資訊,請參閱 存取 的說明和資源 AWS CLI

字串

字串參數可以包含英數字元、符號和ASCII字元集中的空格。包含空格的字串必須用引號括起來。我們建議您不要使用標準空格字元以外的符號和空格,並觀察終端機的引用規則以防止意外結果。

某些字串參數可以接受檔案中的二進位資料。如需範例,請參閱二進位檔案

時間戳記

根據 ISO8601 標準格式化時間戳記。這些通常稱為「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 (with offset),例如 2014-10-01T12:30:00.000-08:00

  • YYYY-MM-DD,例如 2014-10-01

  • Unix 時間 (以秒為單位),例如 1412195400。這有時稱為 Unix Epoch 時間,代表自 1970 年 1 月 1 日午夜以來的秒數UTC。

根據預設, AWS CLI 版本 2 會將所有回應 DateTime 值轉換為 ISO 8601 格式。

您可以透過使用 cli_timestamp_format 檔案設定來設定時間戳記格式。

清單

由空格分隔的一個或多個字串。如果任何字串項目包含空格,就必須使用引號括住該項目。遵守您的終端機的引號規則以防止意外結果。

$ 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

Binary/Blob (二進位大型物件)和串流 Blob

在 中 AWS CLI,您可以直接在命令列上將二進位值傳遞為字串。Blob 有兩種:

Blob

若要將值傳遞至類型為 blob 的參數,您必須使用 fileb:// 字首為包含二進位資料的本機檔案指定路徑。使用 fileb:// 字首參考的檔案一律視為原始未編碼的二進位。指定的路徑會解譯為相對於目前的工作目錄。例如,aws kms encrypt--plaintext 參數是一個 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 版的預設值。如果設定值為 base64,使用 file:// 字首參考的檔案會視為 base64 編碼的文字。

  • 第 1 AWS CLI 版的預設值。如果設定的值為 raw-in-base64-out,則會將使用 file:// 字首參照的檔案讀取為文字,然後 AWS CLI 嘗試將其編碼為二進位。

如需詳細資訊,請參閱檔案設定 cli_binary_format--cli-binary-format 命令列選項。

串流 Blob

aws cloudsearchdomain upload-documents 等串流 blob 不使用字首。而是使用直接檔案路徑來格式化串流 Blob 參數。下列範例將直接檔案路徑 document-batch.json 用於 aws cloudsearchdomain upload-documents 命令:

$ aws cloudsearchdomain upload-documents \ --endpoint-url https://doc-my-domain.us-west-1.cloudsearch.amazonaws.com \ --content-type application/json \ --documents document-batch.json

Map

使用 CLI的短期語法 JSON或 中指定的一組鍵值對。下列JSON範例會從名為 my-table 的 Amazon DynamoDB 資料表讀取項目,其中包含映射參數 --key。參數會指定名稱為 ID 的主索引鍵,在巢狀JSON結構中數值為 1

如需在命令列中更進階JSON的使用,請考慮使用命令列JSON處理器,例如 jq來建立JSON字串。如需 的詳細資訊jq,請參閱 上的 jq 儲存庫GitHub

$ 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"'
Number
--option 123 --option 123.456
Boolean
--option true
Null
--option null
Array
--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"}'