

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

Se riscontri problemi durante l'utilizzo AWS CloudFormation Guard, consulta gli argomenti di questa sezione.

**Topics**
+ [

## La clausola fallisce quando non sono presenti risorse del tipo selezionato
](#troubleshooting-when-conditions-filters)
+ [

## Guard non valuta i CloudFormation modelli con riferimenti in formato breve Fn::GetAtt
](#troubleshooting-cfn-intrinsic-functions)
+ [

## Argomenti generali per la risoluzione
](#troubleshooting-general)

## La clausola fallisce quando non sono presenti risorse del tipo selezionato
<a name="troubleshooting-when-conditions-filters"></a>

Quando una query utilizza un filtro come`Resources.*[ Type == 'AWS::ApiGateway::RestApi' ]`, ad esempio, se non ci sono `AWS::ApiGateway::RestApi` risorse nell'input, la clausola restituisce lo stesso risultato. `FAIL`

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

Per evitare questo risultato, assegnate filtri alle variabili e utilizzate il `when` controllo delle condizioni.

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

## Guard non valuta i CloudFormation modelli con riferimenti in formato breve Fn::GetAtt
<a name="troubleshooting-cfn-intrinsic-functions"></a>

Guard non supporta le forme brevi delle funzioni intrinseche. Ad esempio, l'utilizzo di`!Join`, `!Sub` in un modello in formato YAML CloudFormation non è supportato. Utilizzate invece le forme espanse delle funzioni intrinseche. CloudFormation Ad esempio, utilizzate`Fn::Join`, `Fn::Sub` nei CloudFormation modelli in formato YAML per valutarli rispetto alle regole di Guard.

*Per ulteriori informazioni sulle funzioni intrinseche, consultate il riferimento alla funzione [intrinseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) nella Guida per l'utente.AWS CloudFormation *

## Argomenti generali per la risoluzione
<a name="troubleshooting-general"></a>
+ Verifica che `string` i valori letterali non contengano stringhe di escape incorporate. Guard non supporta stringhe di escape incorporate nei valori letterali. `string` Se il tuo intento è analizzare le stringhe JSON in linea, usa la `json_parse()` funzione disponibile in Guard 3.0.0 e versioni successive. Per ulteriori informazioni, consulta [Utilizzo delle funzioni integrate](writing-rules.md#built-in-functions).
+ Verifica che i confronti confrontino tipi di dati compatibili. `!=` Ad esempio, a `string` e an non `int` sono tipi di dati compatibili per il confronto. Quando si esegue il `!=` confronto, se i valori sono incompatibili, si verifica un errore interno. Attualmente, l'errore viene soppresso e convertito in modo da `false` soddisfare la [PartialEq](https://doc.rust-lang.org/std/cmp/trait.PartialEq.html)caratteristica di Rust.