AWS Proton 參數 - AWS Proton

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

AWS Proton 參數

您可以在基礎結構中定義和使用參數作為代碼(IaC)文件,以使其靈活且可重複使用。您可以透過參照中的參數名稱來讀取 IaC 檔案中的參數值AWS Proton 參數命名空間。AWS Proton將參數值注入到它在資源佈建期間產生的轉譯 IaC 檔案中。要處理AWS CloudFormation合家歡參數,AWS Proton使用神社。要處理地形 IaC 參數,AWS Proton產生 Terraform 參數值檔案,並依賴 HCL 內建的參數化能力。

您可以參考環境、服務和元件 IaC 檔案中的參數,並符合下列需求:

  • 每個參數名稱的長度不超過 100 個字元。

  • 參數命名空間和資源名稱組合的長度不超過資源名稱的字元限制。

AWS Proton如果超過這些配額,佈建會失敗。

參數類型

下列參數類型可供您參考AWS Proton合家歡的文件:

輸入參數

環境和服務執行個體可以採用您在結構描述檔案您與環境或服務範本相關聯。您可以在資源的 IaC 檔案中參照資源的輸入參數。組件 IaC 文件可以參考該組件所附加到的服務實例的輸入參數。

AWS Proton根據結構描述檔檢查輸入參數名稱,並將它們與 IaC 檔案中參照的參數進行比對,以便在資源佈建期間插入您在規格檔案中提供的輸入值。

輸出參數

您可以在任何 IaC 文件中定義輸出。例如,輸出可以是範本規定的其中一個資源的名稱、ID 或 ARN,也可以是透過範本輸入之一來傳遞的方式。您可以在其他資源的 IaC 文件中引用這些輸出。

In CloudFormation IaC 檔案, 定義輸出參數Outputs:區塊。在地形 IaC 檔案中,使用output陳述式。

資源參數

AWS Proton自動建立AWS Proton資源參數。這些參數公開的屬性AWS Proton資源物件。資源參數的一個例子是environment.name

使用AWS ProtonIaC 文件中的參數

若要讀取 IaC 檔案中的參數值,請參考AWS Proton參數命名空間。適用於AWS CloudFormationIaC 文件,您使用神社語法並以成對的大括號和引號括住參數。

下表說明每個支援範本語言的參考語法,以及範例。

範本語言 語法 範例:名為「VPC」的環境輸入

CloudFormation

"{{ parameter-name }}"

"{{ environment.inputs.VPC }}"

地形

var.parameter-name

var.environment.inputs.VPC

產生的地形變數定義

注意

如果您使用CloudFormation 動態參數在您的 IaC 文件中,您必須逸出他們以防止 Jinja 誤解錯誤。如需詳細資訊,請參閱「」AWS Proton 疑難排解

下表列出了所有的命名空間名稱AWS Proton資源參數。每個範本檔案類型都可以使用不同的參數命名空間子集。

Template 檔案 參數類型 參數名稱 描述

Environment (環境)

資源

environment.name

環境名稱

input

environment.inputs.input-name

結構描述定義的環境輸入

服務

資源

environment.name

environment.account_id

環境名稱和AWS 帳戶ID

output

environment.outputs.output-name

環境 IAC 文件輸出

資源

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

服務名稱與程式碼儲存庫

資源

service_instance.name

服務執行個體名稱

input

service_instance.inputs.input-name

結構描述定義的服務執行個體輸入

資源

service_instance.components.default.name

貼附的預設元件名稱

output

service_instance.components.default.outputs.output-name

附加的預設元件 IaC 檔案輸出

管道

資源

service_instance.environment.name

service_instance.environment.account_id

服務執行個體環境名稱和AWS 帳戶ID

output

service_instance.environment.outputs.output-name

服務實例環境 IaC 文件輸出

input

pipeline.inputs.input-name

結構描述定義的管線輸入

資源

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

服務名稱與程式碼儲存庫

input

service_instance.inputs.input-name

結構描述定義的服務執行個體輸入

採集

{% for service_instance in service_instances %}...{% endfor %}

您可以循環瀏覽的服務執行個體集合

元件

資源

environment.name

environment.account_id

環境名稱和AWS 帳戶帳戶 ID

output

environment.outputs.output-name

環境 IAC 文件輸出

資源

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

服務名稱與程式碼儲存庫 (附加元件)

資源

service_instance.name

服務執行個體名稱 (連結的元件)

input

service_instance.inputs.input-name

結構描述定義的服務執行個體輸入 (連接的元件)

資源

component.name

元件名稱

如需詳細資訊和範例,請參閱有關不同資源類型和範本語言的 IaC 範本檔案中參數的子主題。