Risoluzione dei problemi AWS Proton - AWS Proton

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

Ulteriori informazioni su come risolvere i problemi conAWS Proton.

Errori di distribuzione che fanno riferimento a parametriAWS CloudFormation dinamici

Se vedi errori di distribuzione che fanno riferimento alle tue variabiliCloudFormation dinamiche, verifica che siano Jinja escape. Questi errori possono essere causati da un'errata interpretazione da parte di Jinja delle variabili dinamiche. La sintassi dei parametri CloudFormation dinamici è molto simile alla sintassi Jinja utilizzata con iAWS Proton parametri.

Esempio di sintassi delle variabili CloudFormation dinamiche:

'{{resolve:secretsmanager:MySecret:SecretString:password:EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE}}'.

Esempio di sintassi delAWS Proton parametro Jinja:

'{{ service_instance.environment.outputs.env-outputs }}'.

Per evitare questi errori di interpretazione errata, Jinja evita i parametri CloudFormation dinamici come mostrato nei seguenti esempi.

Questo esempio è tratto dalla Guida per l'AWS CloudFormationutente. IAWS Secrets Manager segmenti secret-name e json-key possono essere utilizzati per recuperare le credenziali di accesso archiviate 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 CloudFormation dinamici puoi usare due metodi diversi:

  • Racchiudere 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 %}'
  • Racchiudere 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 in fuga.