本文件 AWS CLI 僅適用於 的第 1 版。如需與 第 2 版相關的文件 AWS CLI,請參閱 第 2 版使用者指南 。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CLI 中的骨架和輸入檔案 AWS CLI
大多數 AWS CLI 命令接受來自 檔案的所有參數輸入。這些範本可以使用 generate-cli-skeleton
選項。
關於骨 AWS CLI 架和輸入檔案
大多數 AWS Command Line Interface (AWS CLI) 命令支援使用 --cli-input-json
參數 接受來自 檔案的所有參數輸入。
這些相同的命令有助於提供 --generate-cli-skeleton
參數,以產生具有您可以編輯和填寫的所有參數的 JSON格式檔案。然後,您可以執行命令搭配相關的 --cli-input-json
參數,以指向要填入的檔案。
重要
數個 AWS CLI 命令不會直接映射到個別 AWS API操作,例如aws s3
命令。這種命令不支援本主題中所述的 --generate-cli-skeleton
或 --cli-input-json
參數。如果您不知道特定命令是否支援這些參數,請執行下列命令,取代 service
以及 command
名稱,其中包含您感興趣的名稱。
$
aws service command
help
輸出包含 Synopsis
部分,顯示所指定命令支援的參數。
$
aws iam list-users help
... SYNOPSIS list-users ... [--cli-input-json] ... [--generate-cli-skeleton <value>] ...
--generate-cli-skeleton
參數會導致命令不執行,而是產生和顯示參數範本,供您自訂然後將其用做後續命令的輸入。產生的範本包含命令支援的所有參數。
--generate-cli-skeleton
參數接受下列其中一個數值:
-
input
– 產生的範本包含格式為 的所有輸入參數JSON。這是預設值。 -
output
– 產生的範本包含格式為 的所有輸出參數JSON。
由於 基本上 AWS CLI 是圍繞服務 的「包裝程式」API,因此 skeleton 檔案會希望您根據其基礎參數名稱來參考所有API參數。這可能與 AWS CLI 參數名稱不同。例如,名為 的 AWS CLI 參數user-name
可能會對應至名為 AWS 的服務API參數 UserName
(請注意已變更的大寫和遺失破折號)。建議您使用 --generate-cli-skeleton
選項,以「正確」參數名稱產生範本,以免發生錯誤。您也可以參考 服務的API參考指南,以查看預期的參數名稱。您可以從範本刪除任何非必要且不想為其提供數值的參數。
例如,如果您執行下列命令,它會為 Amazon Elastic Compute Cloud (Amazon EC2) 命令 產生參數範本run-instances。
產生命令骨架
若要產生和使用參數骨架檔案
-
使用
--generate-cli-skeleton
參數執行 命令以產生JSON ,並將輸出導向至檔案以儲存。 -
在文字編輯器中開啟參數骨架檔案,移除您不需要的任何參數。例如,您可以將範本剔除為下列內容。請確定檔案仍然有效,JSON移除不需要的元素之後。
在此範例中,我們會將
DryRun
參數設定為true
使用 Amazon EC2 乾執行功能。此功能可讓您安全地測試命令,而不必實際建立或修改任何資源。 -
使用適合您方案的數值,填入其餘數值。在此範例中,我們提供要使用的 Amazon Machine Image (AMI) 的執行個體類型、金鑰名稱、安全群組和識別符。此範例假設預設 AWS 區域。AMI
ami-dfc39aef
是在us-west-2
區域中託管的 64 位元 Amazon Linux 映像。如果您使用不同的區域,您必須找到正確的 AMI ID 才能使用。 -
使用
file://
前綴將完整的範本檔案傳遞到--cli-input-json
參數,以使用完成的參數執行命令。會 AWS CLI 解譯路徑,使其與您目前的工作目錄相關,因此在以下僅顯示沒有路徑的檔案名稱範例中,它會直接在目前的工作目錄中尋找檔案。乾執行錯誤表示 JSON已正確形成,且參數值有效。如果在輸出中報告其他問題,請修復它們並重複先前步驟,直到顯示「
Request would have succeeded
」訊息為止。 -
現在您可以將
DryRun
參數設定為false
,以停用試轉。 -
執行 命令,並
run-instances
實際啟動 Amazon EC2執行個體,並顯示成功啟動所產生的詳細資訊。輸出的格式是由--output
參數控制,與輸入參數範本的格式分開。