

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護，並於 2023 年 6 月 1 日結束支援。

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

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

 *參數*是在部署時間提供的自訂值。[參數](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)是 AWS CloudFormation 的一項功能。由於 AWS 雲端開發套件 (AWS CDK) 合成 AWS CloudFormation 範本，因此它也支援部署時間參數。

## 關於參數
<a name="parameters-about"></a>

使用 AWS CDK，您可以定義參數，然後可用於您建立之建構的屬性。您也可以部署包含參數的堆疊。

使用 AWS CDK CLI 部署 AWS CloudFormation 範本時，您可以在命令列提供參數值。如果您透過 AWS CloudFormation 主控台部署範本，系統會提示您輸入參數值。

一般而言，我們建議不要將 AWS CloudFormation 參數與 AWS CDK 搭配使用。將值傳遞至 AWS CDK 應用程式的一般方法是[內容值](context.md)和環境變數。由於它們在合成時不可用，因此無法輕鬆地將參數值用於 CDK 應用程式中的流程控制和其他用途。

**注意**  
若要使用參數執行控制流程，您可以使用 [https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.CfnCondition.html](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.CfnCondition.html) 建構，但與原生`if`陳述式相比，這很尷尬。

使用參數需要您留意您正在撰寫的程式碼在部署時間和合成時間的行為。這使得在許多情況下，您更難以了解 AWS CDK 應用程式並說明其原因，從而獲得很少的好處。

一般而言，最好讓您的 CDK 應用程式以明確定義的方式接受必要資訊，並直接用來在 CDK 應用程式中宣告建構。理想的 AWS CDK-generated AWS CloudFormation 範本是具體的，部署時不會指定任何值。

不過，有些使用案例特別適合 AWS CloudFormation 參數。例如，如果您有不同的團隊定義和部署基礎設施，您可以使用參數來讓產生的範本更廣泛有用。此外，由於 AWS CDK 支援 AWS CloudFormation 參數，因此您可以將 AWS CDK 與使用 AWS CloudFormation 範本 （例如 Service Catalog) AWS 的服務搭配使用。 AWS 這些服務使用參數來設定正在部署的範本。

## 進一步了解
<a name="parameters-learn"></a>

如需使用參數開發 CDK 應用程式的指示，請參閱[使用 CloudFormation 參數取得 CloudFormation 值](get-cfn-param.md)。