中的命令列選項 AWS CLI - AWS Command Line Interface

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

中的命令列選項 AWS CLI

在 中 AWS CLI,命令列選項是全域參數,可用來覆寫該單一命令的預設組態設定、任何對應的設定檔設定或環境變數設定。您無法使用命令列選項來直接指定憑證,但可指定要使用的描述檔。

如何使用命令列選項

大多數命令列選項都是簡單的字串,例如下列範例中的設定檔名稱 profile1

$ aws s3 ls --profile profile1 amzn-s3-demo-bucket1 amzn-s3-demo-bucket2 ...

每個接受引數的選項需要有空格或等號 (=) 來隔開引數與選項名稱。如果引數值是包含空格的字串,則您必須使用引號括住引數。如需關於參數類型和參數格式的詳細資訊,請參閱 在 中指定參數值 AWS CLI

AWS CLI 支援的全域命令列選項

在 中 AWS CLI ,您可以使用下列命令列選項來覆寫該單一命令的預設組態設定、任何對應的設定檔設定或環境變數設定。

--ca-bundle <string>

指定驗證憑證時要使用的憑證授權機構 (CA) SSL憑證套件。

如果已定義,此選項會覆寫設定檔設定 ca_bundle 的數值及 AWS_CA_BUNDLE 環境變數。

--cli-auto-prompt

啟用單一命令的自動提示模式。如下列範例所示,您隨時都能指定它。

$ aws --cli-auto-prompt $ aws dynamodb --cli-auto-prompt $ aws dynamodb describe-table --cli-auto-prompt

此選項會覆寫 aws_cli_auto_prompt 環境變數及 cli_auto_prompt 設定檔設定。

如需第 2 AWS CLI 版自動提示功能的詳細資訊,請參閱 在 中啟用和使用命令提示字元 AWS CLI

--cli-binary-format

指定 AWS CLI 版本 2 如何解譯二進位輸入參數。它可能是以下其中一個數值:

  • base64 – 這是預設值。鍵入為二進位大型物件 (BLOB) 的輸入參數接受 base64 編碼字串。若要傳遞實際的二進位內容,請將內容放置在檔案中,並在參數值中使用 fileb:// 前綴,以提供檔案路徑和名稱。若要傳遞包含在檔案中的 base64 編碼文字,請在參數值中使用 file:// 前綴,以提供檔案路徑和名稱。

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

這會覆寫 cli_binary_format 檔案組態設定。

$ aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function \ --invocation-type Event \ --payload '{ "name": "Bob" }' \ response.json

如果您使用fileb://字首符號參考檔案中的二進位值, AWS CLI 一律會預期檔案包含原始二進位內容,而不會嘗試轉換該值。

如果您使用file://字首符號參考檔案中的二進位值, 會根據目前的cli_binary_format設定 AWS CLI 處理檔案。如果該設定的值為 base64(未明確設定時為預設值), AWS CLI 預期檔案會包含 base64 編碼的文字。如果該設定值為 raw-in-base64-out, AWS CLI 預期檔案會包含原始二進位內容。

--cli-connect-timeout <integer>

指定通訊端連線時間上限 (以秒為單位)。如果數值設為零 (0),通訊端連線會無限期等待 (凍結) 且不逾時。

--cli-read-timeout <integer>

指定通訊端讀取時間上限 (以秒為單位)。如果數值設為零 (0),通訊端讀取會無限期等待 (凍結) 且不逾時。

-- 顏色 <string>

指定支援彩色輸出。有效值為 onoffauto。預設值為 auto

--debug

啟用偵錯記錄的布林參數。 AWS CLI 依預設, 會提供有關命令輸出中命令結果之任何成功或失敗的清除資訊。此 --debug 選項會提供完整的 Python 記錄。這包括命令操作的額外 stderr 診斷資訊,在分析解決命令為什麼產生意外結果時很有用。為了方便檢視偵錯記錄,我們建議將記錄傳送至檔案,以便更輕鬆地搜尋資訊。您可以使用下列其中一種來執行這項作業。

若要傳送 stderr 診斷資訊,請附加 2> debug.txt,其中 debug.txt 是您想要用於偵錯檔案的名稱:

$ aws servicename commandname options --debug 2> debug.txt

若要同時傳送輸出及 stderr 診斷資訊,請附加 &> debug.txt,其中 debug.txt 是您想要用於偵錯檔案的名稱:

$ aws servicename commandname options --debug &> debug.txt
--endpoint-url <string>

指定URL要傳送請求的 。對於大多數命令, URL會根據選取的服務和指定的 AWS 區域 AWS CLI 自動決定 。不過,某些命令會要求您指定帳戶特定的 URL。您也可以設定某些 AWS 服務,直接在您的私有 中託管端點VPC,然後可能需要指定。

下列命令範例使用自訂 Amazon S3 端點 URL。

$ aws s3 ls --endpoint-url http://localhost:4567

端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為 參數。 AWS CLI 端點組態設定的優先順序如下:

  1. --endpoint-url 命令列選項。

  2. 如果啟用,則 AWS_IGNORE_CONFIGURED_ENDPOINT_URLS 全域端點環境變數或設定檔設定 ignore_configure_endpoint_urls 將忽略自訂端點。

  3. 服務特定環境變數 AWS_ENDPOINT_URL_<SERVICE> 所提供的值,例如 AWS_ENDPOINT_URL_DYNAMODB

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINTAWS_ENDPOINT_URL 環境變數所提供的值。

  5. 共用 config 檔案 services 區段內的 endpoint_url 設定所提供的服務特定端點值。

  6. 共用 config 檔案的 profile 中的 endpoint_url 設定所提供的值。

  7. use_dualstack_endpointuse_fips_endpointendpoint_url 設定。

  8. 最後 AWS 服務 會使用URL個別 的任何預設端點。如需每個區域可用的標準服務端點清單,請參閱 Amazon Web Services 一般參考 中的 AWS 區域與端點

--no-cli-auto-prompt

停用單一命令的自動提示模式。

$ aws dynamodb describe-table --table-name Table1 --no-cli-auto-prompt

此選項會覆寫 aws_cli_auto_prompt 環境變數及 cli_auto_prompt 設定檔設定。

如需第 2 AWS CLI 版自動提示功能的詳細資訊,請參閱 在 中啟用和使用命令提示字元 AWS CLI

--no-cli-pager

為命令停用輸出之分頁程式的布林參數。

--no-paginate

布林值開關,可停用 自動 AWS CLI 撥打的多個呼叫,以接收建立輸出分頁的所有命令結果。這表示只會顯示輸出的第一頁。

--no-sign-request

停用簽署服務 AWS 端點HTTP請求的布林值開關。這可防止載入憑證。

--no-verify-ssl

根據預設, AWS CLI 會在與 AWS 服務通訊SSL時使用 。對於每個SSL連線和呼叫, 會 AWS CLI 驗證SSL憑證。使用此選項會覆寫驗證SSL憑證的預設行為。

警告

此選項是最佳作法。如果您使用 --no-verify-ssl,用戶端 AWS 和服務之間的流量將不再受到保護。這表示您的流量具有安全風險,容易 man-in-the-middle遭到入侵。如果您在憑證上遇到問題,最好改為解決這些問題。如需憑證疑難排解步驟,請參閱 SSL 憑證錯誤

--輸出 <string>

指定要用於此命令的輸出格式。您可以指定下列任何數值:

  • json – 輸出已格式化為JSON字串。

  • yaml – 輸出已格式化為YAML字串。

  • yaml-stream – 輸出會串流並格式化為YAML字串。串流可加速處理大型資料類型。

  • text – 輸出的格式是多行以 Tab 分隔的字串值。這對於將輸出傳遞給文字處理器 (如 grepsedawk) 非常有用。

  • table – 輸出的格式為使用字元 +|- 形成儲存格框線的表格。它通常以「方便人類使用」的格式來呈現資訊,這種格式比其他格式更容易閱讀,但在編寫程式方面較不有用。

--profile <string>

指定要用於此命令的具名描述檔。若需設置額外的具名描述檔,您可以使用 aws configure 命令搭配 --profile 選項。

$ aws configure --profile <profilename>
--查詢 <string>

指定要用於篩選回應資料的JMESPath查詢。如需詳細資訊,請參閱在 中篩選輸出 AWS CLI

--region <string>

指定 AWS 傳送此命令 AWS 請求的區域。如需您可指定之所有區域和端點的清單,請參閱 Amazon Web Services 一般參考 中的 AWS 區域與端點

--version

布林值開關,顯示正在執行之 AWS CLI 程式的目前版本。

命令列選項的常見用途

命令列選項的常見用途包括在多個 AWS 區域中查看您的資源,或是於編寫指令碼時變更輸出格式以利易讀性與使用便利。在下列範例中,我們執行 describe-instances 命令,直到我們找到執行個體所在的區域。

$ aws ec2 describe-instances --output table --region us-west-1 ------------------- |DescribeInstances| +-----------------+ $ aws ec2 describe-instances --output table --region us-west-2 ------------------------------------------------------------------------------ | DescribeInstances | +----------------------------------------------------------------------------+ || Reservations || |+-------------------------------------+------------------------------------+| || OwnerId | 012345678901 || || ReservationId | r-abcdefgh || |+-------------------------------------+------------------------------------+| ||| Instances ||| ||+------------------------+-----------------------------------------------+|| ||| AmiLaunchIndex | 0 ||| ||| Architecture | x86_64 ||| ...