

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
<a name="troubleshooting"></a>

Jika Anda mengalami masalah saat bekerja dengan AWS CloudFormation Guard, lihat topik di bagian ini.

**Topics**
+ [Klausul gagal ketika tidak ada sumber daya dari jenis yang dipilih](#troubleshooting-when-conditions-filters)
+ [Guard tidak mengevaluasi CloudFormation template dengan referensi bentuk pendek Fn::GetAtt](#troubleshooting-cfn-intrinsic-functions)
+ [Topik pemecahan masalah umum](#troubleshooting-general)

## Klausul gagal ketika tidak ada sumber daya dari jenis yang dipilih
<a name="troubleshooting-when-conditions-filters"></a>

Ketika kueri menggunakan filter seperti`Resources.*[ 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
<a name="troubleshooting-cfn-intrinsic-functions"></a>

Penjaga tidak mendukung bentuk pendek fungsi intrinsik. Misalnya, penggunaan`!Join`, `!Sub` dalam CloudFormation template berformat YAML tidak didukung. Sebaliknya, gunakan bentuk fungsi CloudFormation intrinsik yang diperluas. Misalnya, gunakan`Fn::Join`, `Fn::Sub` dalam CloudFormation templat berformat YAML saat mengevaluasinya terhadap aturan Guard.

*Untuk informasi selengkapnya tentang fungsi intrinsik, lihat [referensi fungsi intrinsik](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) di Panduan Pengguna.AWS CloudFormation *

## Topik pemecahan masalah umum
<a name="troubleshooting-general"></a>
+ Verifikasi bahwa `string` literal tidak berisi string escaped yang disematkan. Guard tidak mendukung string pelarian yang disematkan dalam `string` literal. Jika maksud Anda adalah mengurai string JSON sebaris, gunakan `json_parse()` fungsi yang tersedia di Guard 3.0.0 dan yang lebih baru. Untuk informasi selengkapnya, lihat [Menggunakan fungsi bawaan](writing-rules.md#built-in-functions).
+ Verifikasi bahwa `!=` perbandingan Anda membandingkan tipe data yang kompatibel. Misalnya, a `string` dan an `int` bukan tipe data yang kompatibel untuk perbandingan. Saat melakukan `!=` perbandingan, jika nilainya tidak kompatibel, kesalahan terjadi secara internal. Saat ini, kesalahan ditekan dan dikonversi `false` untuk memenuhi [PartialEq](https://doc.rust-lang.org/std/cmp/trait.PartialEq.html)sifat di Rust.