Fn::FindInMap enhancements - AWS CloudFormation

Questa è la nuova Guida di riferimento ai modelli CloudFormation . Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la Guida AWS CloudFormation per l'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 funzione Fn::FindInMap standard presenta delle limitazioni, come l’impossibilità di gestire le mappature mancanti o di utilizzare una funzione Fn::FindInMap con alcune funzioni intrinseche incorporate al suo interno.

La trasformazione AWS::LanguageExtensions risolve queste limitazioni introducendo i seguenti miglioramenti:

  • Supporto per valori predefinito: puoi specificare un valore predefinito da restituire se non viene trovata una mappatura.

  • Supporto per funzione intrinseca: puoi inoltre utilizzare una gamma più ampia di funzioni intrinseche per definire i campi di 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

Parameters

DefaultValue

Il valore che Fn::FindInMap si risolverà se non TopLevelKey and/or SecondLevelKey può essere trovato dalla MapName mappa. 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 funzione Fn::FindInMap.

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

Utilizzare le funzioni intrinseche per definire la chiave di primo livello

Di seguito è riportato un esempio di utilizzo di una funzione Fn::FindInMap con le funzioni intrinseche Fn::Select e Fn::Split incorporate al suo interno per definire la chiave di primo livello.

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 intrinseca Fn::FindInMap, consulta Fn::FindInMap.

Per ulteriori informazioni sulla trasformazione AWS::LanguageExtensions, consulta AWS::LanguageExtensionsTrasformazione .