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
Se riscontri problemi durante l'utilizzo AWS CloudFormation Guard, consulta gli argomenti di questa sezione.
Argomenti
La clausola fallisce quando non sono presenti risorse del tipo selezionato
Quando una query utilizza un filtro comeResources.*[ 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
Guard non supporta le forme brevi delle funzioni intrinseche. Ad esempio, l'utilizzo di!Join
, !Sub
in un modello in formato YAML AWS CloudFormation non è supportato. Utilizzate invece le forme espanse delle funzioni intrinseche. CloudFormation Ad esempio, utilizzateFn::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 nella Guida per l'utente.AWS CloudFormation
Argomenti generali per la risoluzione
-
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 lajson_parse()
funzione disponibile in Guard 3.0.0 e versioni successive. Per ulteriori informazioni, consulta Utilizzo delle funzioni integrate. -
Verifica che i confronti confrontino tipi di dati compatibili.
!=
Ad esempio, astring
e an nonint
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 dafalse
soddisfare la PartialEqcaratteristica di Rust.