Il s’agit du nouveau Guide de référence des modèles CloudFormation . Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le guide de AWS CloudFormation l'utilisateur.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fn::FindInMap
enhancements
La AWS::LanguageExtensions transformation améliore la fonctionnalité de la fonction Fn::FindInMap intrinsèque dans les CloudFormation modèles.
La Fn::FindInMap fonction est utilisée pour récupérer une valeur à partir d'un mappage défini dans la Mappings section d'un CloudFormation modèle. Cependant, la fonction Fn::FindInMap standard présente des limites, notamment l’impossibilité de gérer les mappages manquants ou d’utiliser une fonction Fn::FindInMap contenant certaines fonctions intrinsèques imbriquées.
La transformation AWS::LanguageExtensions répond à ces limites en introduisant les améliorations suivantes :
-
Prise en charge des valeurs par défaut : vous pouvez spécifier une valeur par défaut à renvoyer si aucun mappage n’est trouvé.
-
Prise en charge élargie des fonctions intrinsèques : vous pouvez également utiliser un plus large éventail de fonctions intrinsèques pour définir les champs de
Fn::FindInMap, par rapport à la fonctionFn::FindInMapstandard.
Déclaration
JSON
{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey", {"DefaultValue": "DefaultValue"} ] }
YAML
Syntaxe pour le nom complet de la fonction :
Fn::FindInMap:- MapName- TopLevelKey- SecondLevelKey- DefaultValue:DefaultValue
Syntaxe pour la forme courte :
!FindInMap- MapName- TopLevelKey- SecondLevelKey- DefaultValue:DefaultValue
Parameters
- DefaultValue
-
La valeur qui
Fn::FindInMapsera résolue si leTopLevelKeyand/orSecondLevelKeyn'est pas trouvé sur laMapNamecarte. Ce champ est facultatif.
Tous les paramètres MapName, TopLevelKey, SecondLevelKey et DefaultValue peuvent être des fonctions intrinsèques tant qu'ils peuvent être résolus en une valeur valide lors de la transformation.
Exemples
Les exemples suivants montrent comment définir les champs de Fn::FindInMap lorsque vous ajoutez la transformation AWS::LanguageExtensions.
Utilisation d’une valeur par défaut
L’exemple suivant illustre l’utilisation d’une valeur par défaut dans la fonction 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 #...
Utilisation de fonctions intrinsèques pour définir la clé de premier niveau
L’exemple suivant illustre l’utilisation d’une fonction Fn::FindInMap avec les fonctions intrinsèques Fn::Select et Fn::Split vectorisées, afin de définir la clé de premier niveau.
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] #...
Fonctions prises en charge
Vous pouvez utiliser les fonctions suivantes dans les paramètres des améliorations Fn::FindInMap: :
-
Fn::Split- À moins d'être utilisé comme valeur par défaut,Fn::Splitdoit être utilisé en association avec des fonctions intrinsèques qui produisent une chaîne, par exempleFn::JoinouFn::Select.
Ressources connexes
Pour plus d’informations et d’exemples sur l’utilisation de la fonction intrinsèque Fn::FindInMap, consultez Fn::FindInMap.
Pour plus d'informations sur la transformation AWS::LanguageExtensions, consultez AWS::LanguageExtensionsTransformation .