Il s'agit du nouveau guide AWS CloudFormation de référence des modèles. 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 Fn::FindInMap fonction standard présente des limites, telles que l'incapacité de gérer les mappages manquants ou d'utiliser une Fn::FindInMap fonction contenant certaines fonctions intrinsèques intégrées.
La AWS::LanguageExtensions transformation 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é.
-
Support des fonctions intrinsèques — Vous pouvez également utiliser un plus large éventail de fonctions intrinsèques pour définir les champs de
Fn::FindInMapqu'avec laFn::FindInMapfonction standard.
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
Paramètres
- 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 Fn::FindInMap lorsque vous ajoutez la AWS::LanguageExtensions transformation.
Utilisation d'une valeur par défaut
Voici un exemple d'utilisation d'une valeur par défaut dans la Fn::FindInMap fonction.
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 niveau supérieur
Voici un exemple d'utilisation d'une Fn::FindInMap fonction avec Fn::Select les fonctions Fn::Split intrinsèques intégrées pour définir la clé de niveau supérieur.
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 des exemples illustrant l'utilisation de la fonction Fn::FindInMap intrinsèque, consultezFn::FindInMap.
Pour plus d'informations sur la transformation AWS::LanguageExtensions, consultez Transformation AWS::LanguageExtensions.