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::FindInMap
rispetto 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 in cui si risolverà
Fn::FindInMap
seTopLevelKey
e/oSecondLevelKey
non possono essere trovati dalla mappaMapName
. Questo 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 trasformazione. AWS::LanguageExtensions
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::Split
deve essere utilizzato assieme a funzioni intrinseche che producono una stringa, ad esempioFn::Join
oFn::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.