Pemecahan Masalah AWS Proton - AWS Proton

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemecahan Masalah AWS Proton

Pelajari masalah padaAWS Proton.

Kesalahan penyebaran yang mereferensikan parameterAWS CloudFormation dinamis

Jika Anda melihat kesalahan penyebaran yang mereferensikan variabelCloudFormation dinamis Anda, verifikasi bahwa mereka adalah Jinja yang lolos. Kesalahan ini dapat disebabkan oleh Jinja salah tafsir variabel dinamis Anda. Sintaks parameter CloudFormation dinamis sangat mirip dengan sintaks Jinja yang Anda gunakan denganAWS Proton parameter Anda.

Contoh sintaks variabel CloudFormation dinamis:

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

ContohAWS Proton parameter sintaks Jinja:

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

Untuk menghindari kesalahan penafsiran ini, Jinja melarikan diri Parameter CloudFormation Dinamis Anda seperti yang ditunjukkan dalam contoh berikut.

Contoh ini berasal dariAWS CloudFormation User Guide. SegmenAWS Secrets Manager secret-name dan json-key dapat digunakan untuk mengambil kredensi login yang disimpan dalam rahasia.

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}}'

Untuk melarikan diri dari parameter CloudFormation dinamis Anda dapat menggunakan dua metode yang berbeda:

  • Lampirkan blok antara{% 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 %}'
  • Lampirkan parameter antara"{{ }}":

    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}}' }}"

Untuk informasi, lihat Jinja melarikan diri.