Questa è la nuova guida CloudFormation di riferimento per i modelli. Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la Guida per l'AWS CloudFormation utente.
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à.
Fn::FindInMap
enhancements
La AWS::LanguageExtensions trasformazione migliora la funzionalità della funzione Fn::FindInMap intrinseca nei modelli. CloudFormation
La Fn::FindInMap funzione viene utilizzata per recuperare un valore da una mappatura definita nella sezione di un modello. Mappings CloudFormation Tuttavia, la Fn::FindInMap funzione standard presenta delle limitazioni, come l'impossibilità di gestire le mappature mancanti o di utilizzare una Fn::FindInMap funzione con alcune funzioni intrinseche incorporate al suo interno.
La AWS::LanguageExtensions trasformazione risolve queste limitazioni introducendo i seguenti miglioramenti:
-
Supporto per i valori predefiniti: è possibile specificare un valore predefinito da restituire se non viene trovata una mappatura.
-
Supporto per funzioni intrinseche: è inoltre possibile utilizzare una gamma più ampia di funzioni intrinseche per definire i campi
Fn::FindInMaprispetto alla funzione standard.Fn::FindInMap
Dichiarazione
JSON
{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey", {"DefaultValue": "DefaultValue"} ] }
YAML
Sintassi per il nome completo della funzione:
Fn::FindInMap:- MapName- TopLevelKey- SecondLevelKey- DefaultValue:DefaultValue
Sintassi per la forma breve:
!FindInMap- MapName- TopLevelKey- SecondLevelKey- DefaultValue:DefaultValue
Parametri
- DefaultValue
-
Il valore che
Fn::FindInMapsi risolverà se nonTopLevelKeyand/orSecondLevelKeypuò essere trovato dalla mappa.MapNameQuesto campo è facoltativo.
Tutti i parametri MapName, TopLevelKey, SecondLevelKey e DefaultValue possono essere una funzione intrinseca purché possa risolversi in un valore valido durante la trasformazione.
Esempi
Gli esempi seguenti mostrano come definire i campi di Fn::FindInMap quando si aggiunge la AWS::LanguageExtensions trasformazione.
Utilizzo di un valore predefinito
Di seguito è riportato un esempio di utilizzo di un valore predefinito nella Fn::FindInMap funzione.
JSON
{ //... "Transform": "AWS::LanguageExtensions", //... "Fn::FindInMap": [ "RegionMap", { "Ref": "AWS::Region" }, "InstanceType", { "DefaultValue": "t3.micro" } ] //... }
YAML
Transform: 'AWS::LanguageExtensions' #... !FindInMap - 'RegionMap' - !Ref 'AWS::Region' - 'InstanceType' - DefaultValue: t3.micro #...
Utilizzo di funzioni intrinseche per definire la chiave di livello superiore
Di seguito è riportato un esempio di utilizzo di una Fn::FindInMap funzione con funzioni Fn::Split intrinseche incorporate al suo interno per definire la chiave di livello superiore. Fn::Select
JSON
{ //... "Transform": "AWS::LanguageExtensions", //... "Fn::FindInMap": [ "MyMap", { "Fn::Select": [ 0, { "Fn::Split": [ "|", { "Ref": "InputKeys" } ] } ] }, "SecondKey" ] //... }
YAML
Transform: 'AWS::LanguageExtensions' #... !FindInMap: [MyMap, !Select [0, !Split [|, !Ref InputKeys]], SecondKey] #...
Funzioni supportate
Puoi utilizzare le seguenti funzioni nei parametri dei miglioramenti di Fn::FindInMap::
-
Fn::Split- A meno che non venga utilizzato per il valore predefinito,Fn::Splitdeve essere utilizzato assieme a funzioni intrinseche che producono una stringa, ad esempioFn::JoinoFn::Select.
Risorse correlate
Per ulteriori informazioni ed esempi che mostrano come utilizzare la funzione Fn::FindInMap intrinseca, vedere. Fn::FindInMap
Per ulteriori informazioni sulla trasformazione AWS::LanguageExtensions, consulta Trasformazione AWS::LanguageExtensions.