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 AWS Proton
Aprenda a solucionar problemas con AWS Proton.
Errores de implementación que hacen referencia a parámetros AWS CloudFormation dinámicos
Si ve errores de despliegue que hacen referencia a sus variables CloudFormation dinámicas, compruebe que se trate de Jinja escapado
Ejemplo de sintaxis de variables CloudFormation dinámicas:
'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'
.
Ejemplo de sintaxis AWS Proton de Jinja del parámetro:
'{{ service_instance.environment.outputs.env-outputs }}'
.
Para evitar estos errores de interpretación errónea, Jinja escapa de sus parámetros CloudFormation dinámicos como se muestra en los siguientes ejemplos.
Este ejemplo proviene de la Guía del AWS CloudFormation usuario. Los segmentos de AWS Secrets Manager nombre secreto y clave json se pueden usar 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 de los parámetros CloudFormation dinámicos, puede 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