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à.
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.