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 do AWS Proton
Saiba como solucionar problemas com o AWS Proton.
Erros de implantação que fazem referência a parâmetros dinâmicos do AWS CloudFormation
Se você ver erros de implantação que fazem referência às variáveis dinâmicas do CloudFormation, verifique se elas são de escape do Jinja
Exemplo de sintaxe de variável dinâmica do CloudFormation:
'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'
.
Exemplo de sintaxe do parâmetro Jinja do AWS Proton:
'{{ service_instance.environment.outputs.env-outputs }}'
.
Para evitar esses erros de interpretação errônea, o Jinja escapa dos parâmetros dinâmicos do CloudFormation, conforme mostrado nos exemplos a seguir.
Este exemplo é do Guia do usuário do AWS CloudFormation. Os segmentos secret-name e json-key do AWS Secrets Manager 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 dinâmicos do CloudFormation, 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