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::FindInMap
qu'avec laFn::FindInMap
fonction 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
-
Valeur de résolution de
Fn::FindInMap
siTopLevelKey
et/ouSecondLevelKey
sont introuvables sur la carteMapName
. 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::Split
doit être utilisé en association avec des fonctions intrinsèques qui produisent une chaîne, par exempleFn::Join
ouFn::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.