Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes de AWS Proton
Découvrez comment résoudre les problèmes rencontrés avecAWS Proton.
Erreurs de déploiement faisant référence à des paramètresAWS CloudFormation dynamiques
Si vous constatez des erreurs de déploiement faisant référence à vos variablesCloudFormation dynamiques, vérifiez qu'il s'agit d'erreurs de type Jinja
Exemple de syntaxe de variable CloudFormation dynamique :
'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'
.
Exemple deAWS Proton syntaxe Jinja pour un paramètre :
'{{ service_instance.environment.outputs.env-outputs }}'
.
Pour éviter ces erreurs d'interprétation, Jinja échappe à vos paramètres CloudFormation dynamiques, comme indiqué dans les exemples suivants.
Cet exemple provient du Guide de l'AWS CloudFormationutilisateur. Les segmentsAWS Secrets Manager secret-name et json-key peuvent être utilisés pour récupérer les informations de connexion stockées dans le secret.
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}}'
Pour échapper aux paramètres CloudFormation dynamiques, vous pouvez utiliser deux méthodes différentes :
-
Insérez un bloc 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 %}'
-
Insérez un paramètre 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}}' }}"
Pour plus d'informations, voir Jinja s'évader