As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solução de problemas AWS Proton
Aprenda a solucionar problemas com o. AWS Proton
Erros de implantação que fazem referência a parâmetros AWS CloudFormation dinâmicos
Se você ver erros de implantação que fazem referência às suas variáveis CloudFormation dinâmicas, verifique se elas são de escape do Jinja
Exemplo de sintaxe de variável CloudFormation dinâmica:
'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'
.
Exemplo de sintaxe do AWS Proton parâmetro Jinja:
'{{ service_instance.environment.outputs.env-outputs }}'
.
Para evitar esses erros de interpretação errônea, o Jinja escapa de seus parâmetros CloudFormation dinâmicos, conforme mostrado nos exemplos a seguir.
Este exemplo é do Guia AWS CloudFormation do usuário. Os segmentos AWS Secrets Manager secret-name e json-key podem ser usados para recuperar as credenciais de login armazenadas no segredo.
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 dos parâmetros CloudFormation dinâmicos, você pode usar dois métodos diferentes:
-
Coloque um bloco 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 %}'
-
Coloque um 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 obter informações, consulte Escape do Jinja