

终止支持通知：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) 文件中定义和使用参数，以使其灵活且可重用。您可以通过引用参数*命名空间中的参数名称来读取 IaC 文件中的 AWS Proton 参数*值。 AWS Proton 将参数值注入其在资源配置期间生成的渲染的 IaC 文件中。要处理 AWS CloudFormation IaC 参数，请 AWS Proton 使用 [Jinj](https://jinja.palletsprojects.com/en/2.11.x/) a。要处理 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_cn/proton/latest/userguide/parameters.html)

有关更多信息和示例，请参阅有关不同资源类型和模板语言的 IaC 模板文件中的参数的子主题。

**Topics**
+ [参数类型](#param-name-types)
+ [在 IaC 文件中使用 AWS Proton 参数](#param-name-spaces)
+ [环境 CloudFormation IaC 文件参数详细信息和示例](env-parameters.md)
+ [服务 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)