

終止支援通知：2026 年 10 月 7 日 AWS 將終止 的支援 AWS Proton。2026 年 10 月 7 日之後，您將無法再存取 AWS Proton 主控台或 AWS Proton 資源。您部署的基礎設施將保持不變。如需詳細資訊，請參閱[AWS Proton 服務棄用和遷移指南](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)。

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

# AWS Proton 參數
<a name="parameters"></a>

您可以定義並使用基礎設施中的參數做為程式碼 (IaC) 檔案，讓它們具有彈性且可重複使用。您可以參考參數 AWS Proton *命名空間*中的參數名稱來讀取 IaC 檔案中的參數值。 會將參數值 AWS Proton 插入其在資源佈建期間產生的轉譯 IaC 檔案中。若要處理 AWS CloudFormation IaC 參數， AWS Proton 請使用 [Jinja](https://jinja.palletsprojects.com/en/2.11.x/)。若要處理 Terraform IaC 參數， AWS Proton 會產生 Terraform 參數值檔案，並依賴內建於 HCL 的參數化功能。

使用 [CodeBuild 佈建](ag-works-prov-methods.md#ag-works-prov-methods-codebuild)， AWS Proton 產生您的程式碼可以匯入的輸入檔案。檔案是 JSON 或 HCL 檔案，取決於範本資訊清單中的屬性。如需詳細資訊，請參閱[CodeBuild 佈建參數詳細資訊和範例](parameters-codebuild.md)。

您可以參考環境、服務和元件 IaC 檔案中的參數，或具有下列需求的佈建程式碼：
+ 每個參數名稱的長度不超過 100 個字元。
+ 合併的參數命名空間和資源名稱的長度不超過資源名稱的字元限制。

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

## 參數類型
<a name="param-name-types"></a>

您可以在 AWS Proton IaC 檔案中參考下列參數類型：

**輸入參數**  
環境和服務執行個體可以採用您在與環境或服務範本建立關聯的[結構描述檔案中](ag-schema.md)定義的輸入參數。您可以在資源的 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 參數
<a name="param-name-spaces"></a>

若要讀取 IaC 檔案中的參數值，您可以參考參數命名空間中的 AWS Proton 參數名稱。對於 AWS CloudFormation IaC 檔案，您可以使用 *Jinja* 語法，並將 參數包圍成對大括號和引號。

下表顯示每個支援範本語言的參考語法，其中包含 範例。


| 範本語言 | 語法 | 範例：名為 "VPC" 的環境輸入 | 
| --- | --- | --- | 
|  CloudFormation  |  `"{{ parameter-name }}"`  |  `"{{ environment.inputs.VPC }}"`  | 
|  Terraform  |  `var.parameter-name`  |  `var.environment.inputs.VPC` [產生的 Terraform 變數定義](ag-infrastructure-tmp-files-terraform.md#compiled-tform)  | 

**注意**  
如果您在 IaC 檔案中使用 [CloudFormation 動態參數](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)，您必須[逸出這些](https://jinja.palletsprojects.com/en/2.11.x/templates/#escaping)參數，以防止 Jinja 錯誤解譯錯誤。如需詳細資訊，請參閱[故障診斷 AWS Proton](ag-troubleshooting.md)

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

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/proton/latest/userguide/parameters.html)

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

**Topics**
+ [參數類型](#param-name-types)
+ [在 IaC 檔案中使用 AWS Proton 參數](#param-name-spaces)
+ [環境 CloudFormation IaC 檔案參數詳細資訊和範例](env-parameters.md)
+ [Service CloudFormation IaC 檔案參數詳細資訊和範例](svc-parameters.md)
+ [元件 CloudFormation IaC 檔案參數詳細資訊和範例](comp-parameters.md)
+ [CloudFormation IaC 檔案的參數篩選條件](parameter-filters.md)
+ [CodeBuild 佈建參數詳細資訊和範例](parameters-codebuild.md)
+ [Terraform 基礎設施即程式碼 (IaC) 檔案參數詳細資訊和範例](env-parameters-tform.md)