Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione dei problemi AWS Proton
Scopri come risolvere i problemi con. AWS Proton
Errori di distribuzione che fanno riferimento AWS CloudFormation a parametri dinamici
Se vedi errori di distribuzione che fanno riferimento alle tue variabili CloudFormation dinamiche, verifica che si tratti di Jinja Escape
Esempio di sintassi CloudFormation dinamica delle variabili:
'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'
.
Esempio di AWS Proton sintassi Jinja del parametro:
'{{ service_instance.environment.outputs.env-outputs }}'
.
Per evitare questi errori di interpretazione, Jinja evita i parametri CloudFormation dinamici come mostrato negli esempi seguenti.
Questo esempio è tratto dalla Guida per l' AWS CloudFormation utente. I AWS Secrets Manager segmenti secret-name e json-key possono essere utilizzati per recuperare le credenziali di accesso memorizzate nel segreto.
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}}'
Per sfuggire ai parametri dinamici è possibile utilizzare due metodi CloudFormation diversi:
-
Racchiudi un blocco tra
{% 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 %}'
-
Racchiudi un parametro tra:
"{{ }}"
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}}' }}"
Per informazioni, vedi Jinja