Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solución de problemas de AWS Proton
Obtenga información sobre cómo solucionar problemas de AWS Proton.
Errores de implementación que hacen referencia a parámetros dinámicos de AWS CloudFormation
Si ve errores de implementación que hagan referencia a las Variables dinámicas de CloudFormation, compruebe si son casos de Jinja escaping
Ejemplo de sintaxis de variables dinámicas de CloudFormation:
'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'
.
Ejemplo de sintaxis de Jinja del parámetro de AWS Proton:
'{{ service_instance.environment.outputs.env-outputs }}'
.
Para evitar estos errores de interpretación errónea, Jinja escapa los parámetros dinámicos de CloudFormation como se muestra en los siguientes ejemplos.
Este ejemplo proviene de la Guía del usuario de AWS CloudFormation. Los segmentos de AWS Secrets Manager nombre secreto y clave json se pueden utilizar para recuperar las credenciales de inicio de sesión almacenadas en el secreto.
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}}'
Para escapar los parámetros dinámicos de CloudFormation, se pueden utilizar dos métodos diferentes:
-
Incluya un bloque entre
{% 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 %}'
-
Incluya un parámetro entre
"{{ }}"
: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}}' }}"
Para obtener más información, consulte Jinja escaping