这是 AWS CDK v2 开发者指南。较旧的 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
参数和 AWS CDK
参数是在部署时提供的自定义值。参数是 AWS CloudFormation 的特征。由于 AWS Cloud Development Kit (AWS CDK) 合成了 AWS CloudFormation 模板,因此它还支持部署时参数。
关于参数
AWS CDK 可用于定义参数,然后这些参数可以在您创建的构造的属性中使用。您也可以部署包含参数的堆栈。
使用 AWS CDK CLI 部署 AWS CloudFormation 模板时,应在命令行上提供参数值。如果您通过 AWS CloudFormation 控制台部署模板,则系统会提示您提供参数值。
一般而言,我们建议不要在 AWS CDK 中使用 AWS CloudFormation 参数。将值传递到 AWS CDK 应用程序的常用方法是上下文值和环境变量。由于参数值在合成时不可用,因此在 CDK 应用程序中无法轻易地将其用于流量控制和其他用途。
注意
要使用参数控制流量,可以使用 CfnCondition
构造,尽管与原生 if
语句相比,这看起来很突兀。
使用参数需要注意所编写的代码在部署时和合成时的行为。这使得理解和解释 AWS CDK 应用程序的难度更大,在许多情况下,几乎没有好处。
通常,最好让 CDK 应用程序以明确定义的方式接受必要信息,然后直接使用这些信息在 CDK 应用程序中声明构造。理想的 AWS CDK 生成的 AWS CloudFormation 模板是具体的,在部署时没有尚待指定的值。
但是,在某些用例中,AWS CloudFormation 参数存在一一对应关系。例如,如果由不同团队来定义和部署基础设施,则可以使用参数使生成的模板用途更为广泛。此外,由于 AWS CDK 支持 AWS CloudFormation 参数,您可以将 AWS CDK 与使用 AWS CloudFormation 模板的 AWS 服务(例如 Service Catalog)搭配使用。这些 AWS 服务使用参数来配置要部署的模板。
了解更多
有关使用参数开发 CDK 应用程序的说明,请参阅使用 CloudFormation 参数获取 CloudFormation 值。