Fn::FindInMap enhancements - AWS CloudFormation

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 se TopLevelKey e/o SecondLevelKey non possono essere trovati dalla mappa MapName. 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::

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.