Esta es la nueva Guía de referencia de plantillas de CloudFormation. Actualice sus marcadores y enlaces. Para obtener ayuda sobre cómo empezar a usar CloudFormation, consulte la Guía del usuario de AWS CloudFormation.
Fn::FindInMap enhancements
La transformación de AWS::LanguageExtensions mejora la funcionalidad de la función intrínseca Fn::FindInMap de las plantillas de CloudFormation.
La función estándar Fn::FindInMap solo admite Fn::FindInMap y Ref como funciones intrínsecas anidadas. La transformación AWS::LanguageExtensions elimina esta limitación, lo que permite utilizar una gama más amplia de funciones intrínsecas para definir los parámetros de Fn::FindInMap.
nota
El parámetro DefaultValue para Fn::FindInMap ya no requiere la transformación AWS::LanguageExtensions. Se puede utilizar DefaultValue en cualquier plantilla de CloudFormation. Para obtener más información, consulte Fn::FindInMap.
Declaración
JSON
{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey"] }
Si desea especificar un valor alternativo para cuando no se encuentre una clave en el mapeo, incluya un DefaultValue:
{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey", {"DefaultValue": "DefaultValue"}] }
YAML
Sintaxis del nombre de función completo:
Fn::FindInMap: [MapName,TopLevelKey,SecondLevelKey]
Sintaxis de la forma abreviada:
!FindInMap [MapName,TopLevelKey,SecondLevelKey]
Si desea especificar un valor alternativo para cuando no se encuentre una clave en el mapeo, incluya un DefaultValue:
Sintaxis del nombre de función completo:
Fn::FindInMap: -MapName-TopLevelKey-SecondLevelKey- DefaultValue:DefaultValue
Sintaxis de la forma abreviada:
!FindInMap -MapName-TopLevelKey-SecondLevelKey- DefaultValue:DefaultValue
Parameters
Con la transformación AWS::LanguageExtensions, los parámetros MapName, TopLevelKey, SecondLevelKey, y DefaultValue pueden ser cada uno una función intrínseca, siempre que se resuelvan en un valor válido durante la transformación.
Ejemplos
Los siguientes ejemplos muestran cómo utilizar funciones intrínsecas en los parámetros de Fn::FindInMap cuando se añade la transformación AWS::LanguageExtensions.
Uso de funciones intrínsecas para definir la clave de nivel superior
El siguiente es un ejemplo del uso de una función Fn::FindInMap con las funciones intrínsecas Fn::Select y Fn::Split incrustadas para definir la clave de nivel superior:
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] #...
Funciones compatibles
Puede utilizar las siguientes funciones en los parámetros de Fn::FindInMap con la transformación AWS::LanguageExtensions:
-
Fn::Split– A menos que se use como valor predeterminado,Fn::Splitdebe usarse junto con funciones intrínsecas que producen una cadena, comoFn::JoinoFn::Select.
Recursos relacionados
Para obtener más información y ejemplos que muestran cómo usar la función intrínseca Fn::FindInMap, incluido el parámetro DefaultValue, consulte Fn::FindInMap.
Para obtener más información sobre la transformación de AWS::LanguageExtensions, consulte AWS::LanguageExtensionsTransformación de.