本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Proton 參數
您可以定義並使用基礎設施中的參數做為程式碼 (IaC) 檔案,讓它們具有彈性且可重複使用。您可以參考參數 AWS Proton 命名空間中的參數名稱來讀取 IaC 檔案中的參數值。 會將參數值 AWS Proton 插入其在資源佈建期間產生的轉譯 IaC 檔案中。若要處理 AWS CloudFormation IaC 參數, AWS Proton 請使用 Jinja
使用 CodeBuild 佈建, AWS Proton 產生您的程式碼可以匯入的輸入檔案。檔案是 JSON 或 HCL 檔案,取決於範本資訊清單中的屬性。如需詳細資訊,請參閱CodeBuild 佈建參數詳細資訊和範例。
您可以參考環境、服務和元件 IaC 檔案中的參數,或具有下列需求的佈建程式碼:
-
每個參數名稱的長度不超過 100 個字元。
-
合併的參數命名空間和資源名稱的長度不超過資源名稱的字元限制。
AWS Proton 如果超過這些配額,佈建會失敗。
參數類型
下列參數類型可供您在 AWS Proton IaC 檔案中參考:
- 輸入參數
-
環境和服務執行個體可以採用您在與環境或服務範本建立關聯的結構描述檔案中定義的輸入參數。您可以在資源的 IaC 檔案中參考資源的輸入參數。元件 IaC 檔案可以參考元件所連接之服務執行個體的輸入參數。
AWS Proton 會根據您的結構描述檔案檢查輸入參數名稱,並將其與 IaC 檔案中參考的參數相符,以在資源佈建期間注入您在規格檔案中提供的輸入值。
- 輸出參數
-
您可以在任何 IaC 檔案中定義輸出。輸出可以是範本佈建之其中一個資源的名稱、ID 或 ARN,也可以是傳遞其中一個範本輸入的方式。您可以在其他資源的 IaC 檔案中參考這些輸出。
在 CloudFormation IaC 檔案中,定義
Outputs:
區塊中的輸出參數。在 Terraform IaC 檔案中,使用output
陳述式定義每個輸出參數。 - 資源參數
-
AWS Proton 會自動建立 AWS Proton 資源參數。這些參數會公開 AWS Proton 資源物件的屬性。資源參數的範例為
environment.name
。
在 IaC 檔案中使用 AWS Proton 參數
若要讀取 IaC 檔案中的參數值,您可以參考參數命名空間中的 AWS Proton 參數名稱。對於 AWS CloudFormation IaC 檔案,您可以使用 Jinja 語法,並以一對大括號和引號括住 參數。
下表顯示每個支援範本語言的參考語法,其中包含 範例。
範本語言 | 語法 | 範例:名為 "VPC" 的環境輸入 |
---|---|---|
CloudFormation |
|
|
Terraform |
|
|
注意
如果您在 IaC 檔案中使用 CloudFormation 動態參數,您必須逸出這些
下表列出所有 AWS Proton 資源參數的命名空間名稱。每個範本檔案類型都可以使用參數命名空間的不同子集。
範本檔案 | 參數類型 | 參數名稱 | 描述 |
---|---|---|---|
環境 |
資源 |
|
環境名稱 |
input |
|
結構描述定義的環境輸入 |
|
服務 |
資源 |
|
環境名稱和 AWS 帳戶 ID |
output |
|
環境 IaC 檔案輸出 |
|
資源 |
|
服務名稱和程式碼儲存庫 |
|
資源 |
|
服務執行個體名稱 |
|
input |
|
結構描述定義的服務執行個體輸入 |
|
資源 |
|
連接的預設元件名稱 |
|
output |
|
連接的預設元件 IaC 檔案輸出 |
|
管道 |
資源 |
|
服務執行個體環境名稱和 AWS 帳戶 ID |
output |
|
服務執行個體環境 IaC 檔案輸出 |
|
input |
|
結構描述定義的管道輸入 |
|
資源 |
|
服務名稱和程式碼儲存庫 |
|
input |
|
結構描述定義的服務執行個體輸入 |
|
集合 |
|
您可以循環的服務執行個體集合 |
|
元件 |
資源 |
|
環境名稱和 AWS 帳戶 帳戶 ID |
output |
|
環境 IaC 檔案輸出 |
|
資源 |
|
服務名稱和程式碼儲存庫 (連接的元件) |
|
資源 |
|
服務執行個體名稱 (連接的元件) |
|
input |
|
結構描述定義的服務執行個體輸入 (連接的元件) |
|
資源 |
|
元件名稱 |
如需詳細資訊和範例,請參閱不同資源類型和範本語言的 IaC 範本檔案中參數的相關子主題。