Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Problembehebung AWS Proton
Erfahren Sie, wie Sie Probleme mit beheben können AWS Proton.
Bereitstellungsfehler, die auf AWS CloudFormation dynamische Parameter verweisen
Wenn Sie Bereitstellungsfehler sehen, die auf Ihre CloudFormation dynamischen Variablen verweisen, stellen Sie sicher, dass es sich um Jinja-Escapes
Beispiel für CloudFormation eine dynamische Variablensyntax:
'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'
.
Beispiel für eine Jinja-Syntax für einen AWS Proton Parameter:
'{{ service_instance.environment.outputs.env-outputs }}'
.
Um diese Fehlinterpretationsfehler zu vermeiden, maskiert Jinja Ihre CloudFormation dynamischen Parameter, wie in den folgenden Beispielen gezeigt.
Dieses Beispiel stammt aus dem AWS CloudFormation Benutzerhandbuch. Die Segmente AWS Secrets Manager Secret-Name und JSON-Key können verwendet werden, um die im Secret gespeicherten Anmeldedaten abzurufen.
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}}'
Um die CloudFormation dynamischen Parameter zu umgehen, können Sie zwei verschiedene Methoden verwenden:
-
Schließe einen Block ein zwischen
{% 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 %}'
-
Schließen Sie einen Parameter ein zwischen:
"{{ }}"
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}}' }}"
Weitere Informationen finden Sie unter Jinja escaping