Todos los productos
Search
Centro de documentos

CloudFlow:Built-in functions

Última actualización: Sep 05, 2026

El Flow Definition Language (FDL) de CloudFlow ofrece funciones integradas para el procesamiento de datos dentro de las definiciones de flujo de trabajo. Utilice estas funciones para manipular cadenas, arreglos, mapas y datos JSON sin necesidad de escribir código de funciones externas.

Importante

Para usar una función integrada en un constructor de entrada o salida, agregue .$ a la clave del constructor. Esto indica a CloudFlow que evalúe el valor como una expresión. Sin el sufijo .$, el valor se trata como una cadena simple. Se admite un máximo de 10 llamadas a funciones anidadas por expresión.

Ejemplo: Uso de una función integrada en un constructor FDL

{
  "inputMappings": {
    "greeting.$": "format('Hello, {}', $input.username)"
  }
}

En este ejemplo, greeting.$ indica a CloudFlow que el valor es una expresión que contiene la función format, no una cadena literal.

Referencia de funciones

A continuación se presentan tablas con todas las funciones integradas, agrupadas por categoría.

Operaciones comunes

Función

Propósito

format

Formatea una cadena mediante marcadores de posición {}

length

Obtiene la longitud de una cadena, un arreglo o un mapa

regexMatchString

Compara una cadena con una expresión regular

split

Divide una cadena según un delimitador

Operaciones con arreglos

Función

Propósito

arrayContains

Comprueba si un arreglo contiene un elemento específico

arrayUnique

Elimina elementos duplicados de un arreglo

toArray

Convierte un número variable de argumentos en un arreglo

Operaciones con mapas

Función

Propósito

mapKeys

Extrae todas las claves de un objeto JSON o mapa como un arreglo

mapValues

Extrae todos los valores de un objeto JSON o mapa como un arreglo

mapValuesPartition

Extrae valores de un mapa y los divide en subarreglos según un tamaño de paso

Codificación y decodificación de datos

Función

Propósito

toBase64

Codifica una cadena a Base64

fromBase64

Decodifica una cadena codificada en Base64

Cálculo de hash y generación de UUID

Función

Propósito

hash

Genera un valor hash mediante un algoritmo especificado

uuid

Genera un identificador único universal (UUID)

Operaciones con datos JSON

Función

Propósito

jsonToString

Convierte un objeto JSON o mapa en una cadena JSON

stringToJson

Analiza sintácticamente una cadena JSON para convertirla en un objeto JSON o mapa

jsonMerge

Combina dos objetos JSON o mapas en uno solo

Operaciones comunes

format

Formatea una cadena al reemplazar los marcadores de posición {} con los argumentos proporcionados, en orden.

Sintaxis

format(template, arg1, arg2, ...)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

template

string

Sí

Una cadena plantilla que contiene marcadores de posición {}

arg1, arg2, ...

any

Sí

Valores para sustituir en los marcadores de posición, en orden

Tipo de retorno: string

Ejemplos

format("hello {}", "world")
// Returns: "hello world"

Uso en FDL:

{

"message.$": "format('Task {} completed at {}', $input.taskName, $input.timestamp)"

}

length

Devuelve la longitud de una cadena, un arreglo o un mapa.

  • Para una cadena, devuelve el número de caracteres.

  • Para un arreglo, devuelve el número de elementos.

  • Para un mapa, devuelve el número de pares clave-valor.

Sintaxis

length(value)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

value

string, []any o map[string]any

Sí

La cadena, arreglo o mapa que se va a medir

Tipo de retorno: int

Ejemplos

length([1, 2, 3])
// Returns: 3

length({"name": "Tom", "age": 10})
// Returns: 2

length("name")
// Returns: 4

Uso en FDL:

{

"itemCount.$": "length($input.orderItems)"

}

regexMatchString

Comprueba si una cadena coincide con un patrón de expresión regular. Devuelve true si el patrón coincide; de lo contrario, devuelve false.

Sintaxis

regexMatchString(pattern, value)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

pattern

string

Sí

El patrón de expresión regular

value

string

Sí

La cadena que se va a comparar con el patrón

Tipo de retorno: bool

Ejemplos

regexMatchString("p([a-z]+)ch", "peach")
// Returns: true

regexMatchString("p([a-z]+)ch", "p123ch")
// Returns: false

Uso en FDL:

{

"isValid.$": "regexMatchString('^[a-zA-Z0-9]+$', $input.userId)"

}

split

Divide una cadena en un arreglo de subcadenas según un delimitador.

Sintaxis

split(value, delimiter)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

value

string

Sí

La cadena que se va a dividir

delimiter

string

Sí

El delimitador para realizar la división

Tipo de retorno: []string

Ejemplos

split("item1,item2,item3", ",")

// Returns: ["item1", "item2", "item3"]

Uso en FDL:

{

"tags.$": "split($input.tagString, ',')"

}

Operaciones con arreglos

arrayContains

Verifica si un arreglo contiene un elemento específico. Devuelve true si encuentra el elemento; de lo contrario, devuelve false.

Sintaxis

arrayContains(array, element)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

array

[]any

Sí

El arreglo donde se realizará la búsqueda

element

any

Sí

El elemento que se va a buscar

Tipo de retorno: bool

Ejemplos

arrayContains(["Tom", 10], 10)

// Returns: true

arrayContains(["Tom", 10], "Jack")

// Returns: false

Uso en FDL:

{

"isAllowed.$": "arrayContains($input.allowedRegions, $input.targetRegion)"

}

arrayUnique

Elimina los elementos duplicados de un arreglo y devuelve el resultado sin duplicados.

Sintaxis

arrayUnique(array)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

array

[]any

Sí

El arreglo al que se eliminarán los duplicados

Tipo de retorno: []any

Ejemplos

arrayUnique([1, 2, 3, 1])
// Returns: [1, 2, 3]

toArray

Convierte un número variable de argumentos en un solo arreglo.

Sintaxis

toArray(arg1, arg2, ...)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

arg1, arg2, ...

any

Sí

Uno o más valores para combinar en un arreglo

Tipo de retorno: []any

Ejemplos

toArray(1,'strig',$Input.var)
// Returns: []any{1, 'string', $valueOfVar}

Operaciones con mapas

mapKeys

Extrae todas las claves de un objeto JSON o mapa y las devuelve como un arreglo de cadenas.

Sintaxis

mapKeys(map)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

map

map[string]any

Sí

El objeto JSON o mapa del cual extraer las claves

Tipo de retorno: []string

Ejemplos

mapKeys({"name": "Tom", "age": 10})
// Returns: ["name", "age"]

mapValues

Extrae todos los valores de un objeto JSON o mapa y los devuelve como un arreglo.

Sintaxis

mapValues(map)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

map

map[string]any

Sí

El objeto JSON o mapa del cual extraer los valores

Tipo de retorno: []any

Ejemplos

mapValues({"name": "Tom", "age": 10})
// Returns: ["Tom", 10]

mapValuesPartition

Extrae todos los valores de un objeto JSON o mapa y los particiona en subarreglos de un tamaño especificado.

Sintaxis

mapValuesPartition(map, stepSize)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

map

map[string]any

Sí

El objeto JSON o mapa del cual extraer los valores

stepSize

int

Sí

El número de elementos por subarreglo

Tipo de retorno: [][]any

Ejemplos

mapValuesPartition({"name": "Tom", "age": 10}, 1)

// Returns: ["Tom"],[10]

Codificación y decodificación de datos

toBase64

Codifica una cadena a Base64.

Sintaxis

toBase64(value)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

value

string

Sí

La cadena que se va a codificar

Tipo de retorno: string

Ejemplos

toBase64("FnF")
// Returns: "Rm5G"

fromBase64

Decodifica una cadena codificada en Base64 a su valor original.

Sintaxis

fromBase64(value)ParametersParameterTypeRequiredDescriptionvaluestringYesThe Base64-encoded string to decodeReturn type: stringExamplesfromBase64("Rm5G")
// Returns: "FnF"

Cálculo de hash y generación de UUID

hash

Genera un valor hash para la entrada dada mediante un algoritmo especificado.

Sintaxis

id="dfc2079465bd1_19"Code" data-tag="codeblock" id="dfc2079465bd1" outputclass="language-bash">hash(input, algorithm)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

input

string

Sí

La cadena para calcular el hash

algorithm

string

Sí

El algoritmo de hash. Valores compatibles: MD5, SHA-1, SHA-256, SHA-512

Tipo de retorno: string

Ejemplos

hash("abc", "MD5")
// Returns: "900150983cd24fb0d6963f7d28e17f72"

Uso en FDL:{ "checksum.$": "hash($input.payload, 'SHA-256')" }

uuid

Genera un identificador único universal (UUID).

Sintaxisuuid()

**Parámetros**

Ninguna.

**Tipo de retorno: string**

**Ejemplos**

uuid()

// Returns: "159fd8c1-2ec3-4d7b-b9fd-60b9d8841000"

Uso en FDL uid="dfc2079465bd1_22"e-type="xCode" data-tag="codeblock" id="dfc2079465bd1" outputclass="language-json">{ "requestId.$": "uuid()" }

Operaciones con datos JSON

jsonToString

Convierte un objeto JSON o mapa en su representación de cadena.

Syid="dfc2079465bd1_23"code-type="xCode" data-tag="codeblock" id="dfc2079465bd1" outputclass="language-bash">jsonToString(value)

**Parámetros**

Parámetro

Tipo

Obligatorio

Descripción

value

map[string]any

Sí

El objeto JSON o mapa que se va a serializar

**Tipo de retorno: string**

**Ejemplos**

toJSON({"name": "Tom", "age": 10})

// Returns: '{"name": "Tom", "age": 10}'

stringToJson

Analiza sintácticamente una cadena JSON para convertirla en un objeto JSON o mapa.

Sintaxis

stringToJson(value)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

value

string

Sí

Una cadena JSON válida

Tipo de retorno: map[string]any

Ejemplos

stringToJson('{"name": "Tom", "age": 10}')
// Returns: {"name": "Tom", "age": 10}

Uso en FDL:

{

"parsedBody.$": "stringToJson($input.responseBody)"

}

jsonMerge

Combina dos objetos JSON o mapas en uno solo.

jsonMerge(object1, object2)

Parámetros

Parámetro

Tipo

Obligatorio

Descripción

object1

map[string]any

Sí

El primer objeto JSON o mapa

object2

map[string]any

Sí

El segundo objeto JSON o mapa

Tipo de retorno: map[string]any

Ejemplos

jsonMerge({"name": "Tom", "age": 10}, {"name": "Tom", "address": "beijing"})

// Returns: {"name": "Tom", "age": 10, "address": "beijing"}

{
  "mergedConfig.$": "jsonMerge($input.defaultConfig, $input.userOverrides)"
}