Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah AWS CloudFormation Guard
Jika Anda mengalami masalah saat bekerja dengan AWS CloudFormation Guard, lihat topik di bagian ini.
Topik
Klausul gagal ketika tidak ada sumber daya dari jenis yang dipilih
Ketika kueri menggunakan filter sepertiResources.*[ Type == 'AWS::ApiGateway::RestApi'
]
, jika tidak ada AWS::ApiGateway::RestApi
sumber daya dalam input, klausa akan dievaluasi. FAIL
%api_gws.Properties.EndpointConfiguration.Types[*] == "PRIVATE"
Untuk menghindari hasil ini, tetapkan filter ke variabel dan gunakan pemeriksaan when
kondisi.
let api_gws = Resources.*[ Type == 'AWS::ApiGateway::RestApi' ] when %api_gws !empty { ...}
Guard tidak mengevaluasi CloudFormation template dengan referensi bentuk pendek Fn::GetAtt
Penjaga tidak mendukung bentuk pendek fungsi intrinsik. Misalnya, menggunakan!Join
, !Sub
dalam AWS CloudFormation templat YAML berformat -tidak didukung. Sebaliknya, gunakan bentuk fungsi CloudFormation intrinsik yang diperluas. Misalnya, gunakanFn::Join
, Fn::Sub
dalam CloudFormation templat YAML berformat -saat mengevaluasi mereka terhadap aturan Guard.
Untuk informasi selengkapnya tentang fungsi intrinsik, lihat referensi fungsi intrinsik di Panduan Pengguna.AWS CloudFormation
Topik pemecahan masalah umum
-
Verifikasi bahwa
string
literal tidak berisi string escaped yang disematkan. Saat ini, Guard tidak mendukung string escape yang disematkan dalamstring
literal. -
Verifikasi bahwa
!=
perbandingan Anda membandingkan tipe data yang kompatibel. Misalnya, astring
dan anint
bukan tipe data yang kompatibel untuk perbandingan. Saat melakukan!=
perbandingan, jika nilainya tidak kompatibel, kesalahan terjadi secara internal. Saat ini, kesalahan ditekan dan dikonversifalse
untuk memenuhi PartialEqsifat di Rust.