Fn::Split - AWS CloudFormation

Fn::Split

Para dividir una cadena en una lista de valores de cadena, para poder seleccionar un elemento de la lista de cadenas resultante, utilice la función intrínseca Fn::Split. Especifique la ubicación de divisiones con un delimitador, como , (una coma). Después de dividir una cadena, utilice la función Fn::Select para elegir un elemento específico.

Por ejemplo, si una cadena delimitada por comas de IDs de subred se importa a la plantilla de pila, puede dividir la cadena en cada coma. Desde la lista de IDs de subred, use la función intrínseca Fn::Select para especificar un ID de subred de un recurso.

Declaración

JSON

{ "Fn::Split" : [ "delimiter", "source string" ] }

YAML

Sintaxis del nombre de función completo:

Fn::Split: [ delimiter, source string ]

Sintaxis de la forma abreviada:

!Split [ delimiter, source string ]

Parámetros

Debe especificar ambos parámetros.

delimiter

Un valor de cadena que determina dónde se divide la cadena de origen.

cadena de origen

El valor de cadena que desee dividir.

Valor devuelto

Una lista de los valores de cadena.

Ejemplos

Los siguientes ejemplos muestran el comportamiento de la función Fn::Split.

Lista simple

El siguiente ejemplo divide una cadena en cada barra vertical (|). La función devuelve ["a", "b", "c"].

JSON

{ "Fn::Split" : [ "|" , "a|b|c" ] }

YAML

!Split [ "|" , "a|b|c" ]

 

Lista con valores de cadenas vacíos

Si divide una cadena con delimitadores consecutivos, la lista resultante incluirá una cadena vacía. El siguiente ejemplo muestra cómo se divide una cadena con dos delimitadores consecutivos y un delimitador agregado. La función devuelve ["a", "", "c", ""].

JSON

{ "Fn::Split" : [ "|" , "a||c|" ] }

YAML

!Split [ "|" , "a||c|" ]

 

Dividir un valor de salida importado

En el siguiente ejemplo se divide un valor de salida importada y, a continuación, selecciona el tercer elemento de la lista resultante de IDs de subred, tal y como especifica la función Fn::Select.

JSON

{ "Fn::Select" : [ "2", { "Fn::Split": [",", {"Fn::ImportValue": "AccountSubnetIDs"}]}] }

YAML

!Select [2, !Split [",", !ImportValue AccountSubnetIDs]]

Funciones compatibles

Para el delimitador Fn::Split, no se puede usar ninguna función. Debe especificar un valor de cadena.

Para la lista de valores Fn::Split, se pueden usar las siguientes funciones:

  • Fn::Base64

  • Fn::FindInMap

  • Fn::GetAtt

  • Fn::GetAZs

  • Fn::If

  • Fn::ImportValue

  • Fn::Join

  • Fn::Select

  • Fn::Sub

  • Ref