

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

Wenn Sie bei der Arbeit mit auf Probleme stoßen AWS CloudFormation Guard, lesen Sie die Themen in diesem Abschnitt.

**Topics**
+ [Die Klausel schlägt fehl, wenn keine Ressourcen des ausgewählten Typs vorhanden sind](#troubleshooting-when-conditions-filters)
+ [Guard bewertet keine CloudFormation Vorlage mit Verweisen in Kurzform Fn::GetAtt](#troubleshooting-cfn-intrinsic-functions)
+ [Allgemeine Themen zur Fehlerbehebung](#troubleshooting-general)

## Die Klausel schlägt fehl, wenn keine Ressourcen des ausgewählten Typs vorhanden sind
<a name="troubleshooting-when-conditions-filters"></a>

Wenn eine Abfrage einen Filter verwendet`Resources.*[ Type == 'AWS::ApiGateway::RestApi' ]`, z. B. wenn die Eingabe keine `AWS::ApiGateway::RestApi` Ressourcen enthält, wird die Klausel wie folgt ausgewertet. `FAIL`

```
%api_gws.Properties.EndpointConfiguration.Types[*] == "PRIVATE"
```

Um dieses Ergebnis zu vermeiden, weisen Sie Variablen Filter zu und verwenden Sie die `when` Bedingungsprüfung.

```
let api_gws = Resources.*[ Type == 'AWS::ApiGateway::RestApi' ]
    when %api_gws !empty { ...}
```

## Guard bewertet keine CloudFormation Vorlage mit Verweisen in Kurzform Fn::GetAtt
<a name="troubleshooting-cfn-intrinsic-functions"></a>

Guard unterstützt die Kurzformen intrinsischer Funktionen nicht. Beispielsweise wird die Verwendung von`!Join`, `!Sub` in einer Vorlage im YAML-Format nicht unterstützt. CloudFormation Verwenden Sie stattdessen die erweiterten Formen intrinsischer Funktionen. CloudFormation Verwenden Sie beispielsweise, in CloudFormation Vorlagen `Fn::Sub` im YAML-Format`Fn::Join`, wenn Sie sie anhand von Guard-Regeln auswerten.

*Weitere Informationen zu systeminternen Funktionen finden Sie in der Referenz zu [systeminternen Funktionen im Benutzerhandbuch.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html)AWS CloudFormation *

## Allgemeine Themen zur Fehlerbehebung
<a name="troubleshooting-general"></a>
+ Stellen Sie sicher, dass `string` Literale keine eingebetteten Escape-Zeichenketten enthalten. Guard unterstützt keine eingebetteten Escape-Zeichenketten in `string` Literalen. Wenn Sie beabsichtigen, Inline-JSON-Strings zu analysieren, verwenden Sie die in Guard 3.0.0 und höher verfügbare `json_parse()` Funktion. Weitere Informationen finden Sie unter [Verwenden von integrierten Funktionen](writing-rules.md#built-in-functions).
+ Stellen Sie sicher, dass Ihre `!=` Vergleiche kompatible Datentypen vergleichen. Zum Beispiel `int` sind a `string` und an keine kompatiblen Datentypen für den Vergleich. Wenn beim `!=` Vergleich die Werte nicht kompatibel sind, tritt intern ein Fehler auf. Derzeit wird der Fehler unterdrückt und so umgewandelt, dass er `false` dem [PartialEq](https://doc.rust-lang.org/std/cmp/trait.PartialEq.html)Merkmal in Rust entspricht.