

终止支持通知：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="ag-troubleshooting"></a>

学习如何使用解决问题 AWS Proton。

**Topics**
+ [引用 CloudFormation 动态参数的部署错误](#cfn-dynamic-params)

## 引用 CloudFormation 动态参数的部署错误
<a name="cfn-dynamic-params"></a>

如果您看到引用[CloudFormation 动态变量的](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)部署错误，请验证它们是否已被 [Jinja 逃脱](https://jinja.palletsprojects.com/en/2.11.x/templates/#escaping)。这些错误可能是由 Jinja 错误地解释动态变量引起的。 CloudFormation 动态参数语法与你在 AWS Proton 参数中使用的 Jinja 语法非常相似。

 CloudFormation 动态变量语法示例：

`'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'`.

Jinja 语法 AWS Proton 参数示例：

`'{{ service_instance.environment.outputs.env-outputs }}'`.

为了避免这些误解错误，Jinja 逃避了您的 CloudFormation 动态参数，如以下示例所示。

此示例来自《 CloudFormation 用户指南》。 AWS Secrets Manager 密钥名称和 json-key 段可用于检索存储在密钥中的登录凭证。

```
MyRDSInstance:
  Type: AWS::RDS::DBInstance
  Properties:
    DBName: 'MyRDSInstance'
      AllocatedStorage: '20'
      DBInstanceClass: db.t2.micro
      Engine: mysql
      MasterUsername: '{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}'
      MasterUserPassword: '{{resolve:secretsmanager:MyRDSSecret:SecretString:password}}'
```

要转义 CloudFormation 动态参数，可以使用两种不同的方法：
+ 将一个块放在 `{% raw %} and {% endraw %}` 之间：

  ```
  '{% raw %}'
  MyRDSInstance:
    Type: AWS::RDS::DBInstance
    Properties:
      DBName: 'MyRDSInstance'
        AllocatedStorage: '20'
        DBInstanceClass: db.t2.micro
        Engine: mysql
        MasterUsername: '{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}'
        MasterUserPassword: '{{resolve:secretsmanager:MyRDSSecret:SecretString:password}}'
  '{% endraw %}'
  ```
+ 将一个参数放在 `"{{ }}"` 之间：

  ```
  MyRDSInstance:
    Type: AWS::RDS::DBInstance
    Properties:
      DBName: 'MyRDSInstance'
        AllocatedStorage: '20'
        DBInstanceClass: db.t2.micro
        Engine: mysql
        MasterUsername: "{{ '{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}' }}"
        MasterUserPassword: "{{ '{{resolve:secretsmanager:MyRDSSecret:SecretString:password}}' }}"
  ```

有关信息，请参阅 [Jinja escaping](https://jinja.palletsprojects.com/en/2.11.x/templates/#escaping)。