Funciones de Data Transformer

En esta página, se describe el conjunto adicional de funciones de Jsonnet predefinidas para la tarea de la secuencia de comandos de Data Transformer disponible en la integración de Apigee.

Para usar las siguientes funciones predefinidas, debes importar la biblioteca functions en la secuencia de comandos. Importar la biblioteca functions te permite usar las funciones estándar de Jsonnet y las funciones predefinidas de Data Transformer.

La integración de Apigee admite la biblioteca de funciones de Jsonnet v0.20.0. Para obtener información sobre las funciones estándar de Jsonnet, consulta Biblioteca estándar de Jsonnet.

Funciones de array


Average

Sintaxis

avg(arr)
      
Descripción Calcula el promedio numérico de todos los valores de un array.
Parámetro de datos arr: Es el array de entrada.
Tipo de datos que se muestran DOUBLE
Salida Muestra el promedio de todos los valores del array.

Contains

Sintaxis

contains(arr, elem)
      
Descripción Comprueba el caso del elemento especificado en un array.
Parámetro de datos arr: Es el array de entrada.

elem: El elemento del array que se desea buscar.

Tipo de datos que se muestran BOOLEAN
Salida Muestra Data Transformer TRUE si se encuentra una coincidencia y FALSE en caso contrario.

Max Array

Sintaxis

maxArray(arr)
      
Descripción Encuentra el valor más alto en un array.
Parámetro de datos arr: Es el array de entrada.
Tipo de datos que se muestran El tipo de datos del array de entrada.
Salida Muestra el valor más alto encontrado en el array.

Min Array

Sintaxis

minArray(arr)
      
Descripción Encuentra el valor más bajo en un array.
Parámetro de datos arr: Es el array de entrada.
Tipo de datos que se muestran El tipo de datos del array de entrada.
Output/th> Muestra el valor más bajo encontrado en el array.

Remove

Sintaxis

remove(arr, elem)
      
Descripción Quita el elemento especificado de un array.
Parámetro de datos arr: Es el array de entrada.

elem: El elemento del array que se desea quitar.

Tipo de datos que se muestran El tipo de datos del array de entrada.
Salida Muestra el array actualizado después de quitar el elemento especificado.

Remove At

Sintaxis

removeAt(arr, index)
      
Descripción Quita un elemento de un array en el índice especificado.
Parámetro de datos arr: Es el array de entrada.

index: Es el índice del array del elemento que se quitará.

Tipo de datos que se muestran El tipo de datos del array de entrada.
Salida Muestra el array actualizado después de quitar el elemento especificado.

Sum

Sintaxis

sum(arr)
      
Descripción Suma todos los valores de un array.
Parámetro de datos arr: Es el array de entrada.
Tipo de datos que se muestran El tipo de datos del array de entrada.
Salida Muestra la suma de todos los elementos del array.

GroupBy

Sintaxis

groupBy(array, function)
      
Descripción Crea un objeto compuesto por claves generadas a partir de los resultados de la ejecución de cada elemento del array a través de la función de iteración. Por ejemplo, f.groupBy([1,1.3,1.8],std.floor) generaría {"1": [1,1.3,1.8]}.
Parámetro de datos
  • array: la colección sobre la que se itera el método.

    function: la función que se invoca para cada elemento del array.

Tipo de datos que se muestra JSON
Salida Muestra el objeto agregado compuesto.

Zip

Sintaxis

zip([arrays])
      
Descripción Crea un array de elementos agrupados, el primero contiene los primeros elementos de los arrays dados, el segundo contiene el segundo elemento de los arrays dados, y así sucesivamente. Por ejemplo, f.zip([[1, "one", "I"],[2, "two", "II"],[3, "three", "III"]]) generaría [[1,2,3],["one", "two", "three"],["I", "II", "III"]].
Parámetro de datos [arrays]: este parámetro contiene los arrays que se deben procesar.
Tipo de datos que se muestra array
Salida Muestra el array nuevo de elementos reagrupados.

Unzip

Sintaxis

unzip(array)
      
Descripción Crea un array de elementos agrupados. Acepta un array de elementos agrupados y también crea un array que reagrupa los elementos a su configuración previa a la compresión. Por ejemplo, f.unzip([[1, "one", "I"],[2, "two", "II"],[3, "three", "III"]]) generaría [[1,2,3],["one", "two", "three"],["I", "II", "III"]].
Parámetro de datos array: este parámetro contiene el array de elementos agrupados que se procesarán.
Tipo de datos que se muestra array
Salida Muestra el array nuevo de elementos reagrupados.

Funciones de agregación


XNOR

Sintaxis

xnor(a, b)
      
Descripción Realiza una operación lógica XNOR en los valores booleanos especificados.
Parámetro de datos a: un valor booleano.

b: un valor booleano.

Tipo de datos que se muestran BOOLEAN
Salida Muestra el XNOR de los dos booleanos dados.

Xor

Sintaxis

xor(a, b)
      
Descripción Realiza la operación lógica XOR en los valores booleanos especificados.
Parámetro de datos a: un valor booleano.

b: un valor booleano.

Tipo de datos que se muestran BOOLEAN
Salida Muestra el XOR de los dos booleanos dados.

Funciones de generación de hash


SHA1

Sintaxis

sha1(str)
      
Descripción Calcula el hash criptográfico de la entrada STRING mediante el algoritmo Secure Hash Algorithm 1 (SHA-1).
Parámetro de datos str: Es la string de entrada.
Tipo de datos que se muestran BYTES
Salida Muestra un valor de hash de 160 bits (20 bytes).

SHA256

Sintaxis

sha256(str)
      
Descripción Calcula el hash criptográfico de la entrada STRING mediante el algoritmo Secure Hash Algorithm 256 (SHA-256).
Parámetro de datos str: Es la string de entrada.
Tipo de datos que se muestran BYTES
Salida Muestra un valor de hash de 256 bits (32 bytes).

SHA512

Sintaxis

sha512(str)
      
Descripción Calcula el hash criptográfico de la entrada STRING mediante el algoritmo Secure Hash Algorithm 512 (SHA-512).
Parámetro de datos str: Es la string de entrada.
Tipo de datos que se muestran BYTES
Salida Muestra un valor de hash de 512 bits (64 bytes).

SHA3

Sintaxis

sha3(str)
      
Descripción Calcula el hash criptográfico del objeto STRING de entrada mediante el algoritmo Secure Hash Algorithm 3 (SHA-3).
Parámetro de datos str: Es la string de entrada.
Tipo de datos que se muestran BYTES
Salida Muestra un valor de hash de 512 bits (64 bytes).

Funciones JSON


Manifest XML

Sintaxis

manifestXml(json, format = "badgerfish", indent_output = false)
      
Descripción Convierte el objeto JSON de entrada especificado en una string XML.
Parámetro de datos json: Es el objeto JSON de entrada.

format: El formato de representación JSON de entrada.

indent_output: Entrada booleana para indicar si la string XML de salida debe tener sangría. El valor predeterminado es False.

Tipo de datos que se muestran STRING
Salida Muestra la string XML de la representación del objeto JSON proporcionado.

Object Remove Key

Sintaxis

objectRemoveKey(obj, key)
      
Descripción Quita una propiedad de un objeto JSON.
Parámetro de datos obj: El objeto JSON de entrada.

key: La propiedad JSON que se quitará.

Tipo de datos que se muestran JSON
Salida Objeto JSON actualizado después de quitar la propiedad especificada y su valor correspondiente.

Parse XML

Sintaxis

parseXml(xml, format = "badgerfish")
      
Descripción Analiza la string XML de entrada especificada en un objeto JSON.
Parámetro de datos xml: es la string XML de entrada.

format: El formato de representación JSON de salida.

Tipo de datos que se muestran JSON
Salida Muestra la representación del objeto JSON de la cadena XML proporcionada.

Parse CSV With Header

Sintaxis

parseCsvWithHeader(input, delimiter = ",", overwrite_duplicate_headers = true)
      
Descripción Analiza una cadena de CSV de entrada determinada como un archivo JSON. La primera fila se consideraría como encabezado. Por ejemplo, f.parseCsvWithHeader("index,product,company\n1,Application Integration,Google\n2,Pubsub,Google") generaría [{"index": "1", "product": "Application Integration", "company": "Google"},{"index": "2", "product": "Pubsub", "company": "Google"}].
Parámetro de datos input: la cadena de CSV que se analizará.

delimiter: la cadena de delimitador que se usará. El valor predeterminado es ','.

overwrite_duplicate_headers: es la opción para reemplazar los valores de los encabezados duplicados. Si se establece como falso, se cambiará el nombre del encabezado duplicado. El valor predeterminado es true.

Tipo de datos que se muestran JSON
Salida Muestra la representación JSON de una cadena de CSV determinada.

Manifest CSV

Sintaxis

manifestCsv(json, headers = null)
      
Descripción Convierte el archivo JSON dado en una cadena de CSV. Por ejemplo, f.manifestCsv([{"index": "1", "product": "Application Integration", "company": "Google"},{"index": "2", "product": "Pubsub", "company": "Google"}]) generaría index,product,company\n1,Application Integration,Google\n2,Pubsub,Google.
Parámetro de datos json: JSON que se convertirá en CSV.

headers: lista de encabezados para el archivo CSV. Si no se proporciona ningún valor, se usan todos los encabezados.

Tipo de datos que se muestra STRING
Salida Muestra la cadena de CSV de JSON en un formato dado.

Funciones matemáticas


Is Decimal

Sintaxis

isDecimal(num)
      
Descripción Comprueba si el número dado es un decimal.
Parámetro de datos num: El número de entrada.
Tipo de datos que se muestran BOOLEAN
Salida Muestra TRUE si el número es decimal y FALSE en caso contrario.

Is Even

Sintaxis

isEven(num)
      
Descripción Comprueba si el número dado es par.
Parámetro de datos num: El número de entrada.
Tipo de datos que se muestran BOOLEAN
Salida Muestra TRUE si el número es par y FALSE en caso contrario.

Is Integer

Sintaxis

isInteger(num)
      
Descripción Comprueba si el número determinado es un número entero.
Parámetro de datos num: El número de entrada.
Tipo de datos que se muestran BOOLEAN
Salida Muestra TRUE si el número es un número entero y FALSE en caso contrario.

Is Odd

Sintaxis

isOdd(num)
      
Descripción Comprueba si el número dado es impar.
Parámetro de datos num: El número de entrada.
Tipo de datos que se muestran BOOLEAN
Salida Muestra TRUE si el número es impar y FALSE en caso contrario.

Random Number

Sintaxis

randomNumber(lowerBound, upperBound)
      
Descripción Genera un número real aleatorio entre un rango especificado.
Parámetro de datos lowerBound: valor de rango más bajo (inclusivo). El valor predeterminado es 0.

upperBound: valor de rango más alto (exclusivo). El valor predeterminado es 1.

Tipo de datos que se muestran Un número real.
Salida Muestra un número real aleatorio entre lowerBound y upperBound.

Round

Sintaxis

round(input)
      
Descripción Redondea un número al número entero más cercano.
Parámetro de datos input: Un valor para redondear.
Tipo de datos que se muestran INTEGER
Valor de muestra Muestra el número entero desactivado más cercano.

Funciones de string


Equals Ignore Case

Sintaxis

equalsIgnoreCase(str1, str2)
      
Descripción Compara los dos valores de string determinados, independientemente del uso de las mayúsculas o minúsculas (minúscula o superior).
Parámetro de datos str1: es una string de entrada.

str2: es una string de entrada.

Tipo de datos que se muestran BOOLEAN
Salida Muestra TRUE si el valor especificado coincide con el valor existente (se ignoran las mayúsculas y las minúsculas) y FALSE, en caso contrario.

Is Empty

Sintaxis

isEmpty(str)
      
Descripción Comprueba si la longitud de la string determinada es 0.
Parámetro de datos str: Es la string de entrada.
Tipo de datos que se muestran BOOLEAN
Salida Muestra TRUE si la string está vacía y FALSE en caso contrario.

Match

Sintaxis

match(str, regexp)
      
Descripción Recupera el resultado de la coincidencia de una string con una expresión regular.
Parámetro de datos str: Es la string de entrada.

regexp: Es la expresión regular re2.

Tipo de datos que se muestran ARRAY
Salida Muestra un array de todas las substrings de str que coinciden con la expresión regular, regexp. Muestra un array vacío si no hay coincidencias.

Trim

Sintaxis

trim(str)
      
Descripción Quita todos los espacios iniciales y finales de una string determinada.
Parámetro de datos str: Es la string de entrada.
Tipo de datos que se muestran STRING
Salida Muestra una copia de la string sin el espacio en blanco al principio ni al final.

Funciones de marca de tiempo


Date Format

Sintaxis

dateFormat(timestamp, format_string, timezone, current_format)
      
Descripción Formatea una marca de tiempo de acuerdo con el valor format_string especificado.
Parámetro de datos timestamp: La marca de tiempo de entrada

format_string: El formato de marca de tiempo nuevo. Consulta Elementos de formato de marca de tiempo admitidos si deseas obtener una lista de elementos de formato que se pueden usar para formar la nueva string de formato de marca de tiempo.

timezone: la zona horaria de la marca de tiempo de entrada proporcionada El valor predeterminado es UTC.

current_format: El formato que se usa para analizar la marca de tiempo de entrada proporcionada. El valor predeterminado es E (ciclo de entrenamiento).

Tipo de datos que se muestran STRING
Salida Muestra una string nueva después de convertir la timestamp de entrada en función del format_string especificado.

Elementos de formato de marca de tiempo admitidos

En la siguiente tabla, se enumeran los elementos de formato admitidos para la función dateFormat():

Elemento de formato Descripción Ejemplo
YYYY Año (4 dígitos). 2023
YY Últimos 2 dígitos del año. 23
MMMM Nombre del mes en mayúscula. March
MMM Nombre abreviado del mes en mayúscula. Mar
MM Mes del 01 al 12. 03
M Mes del 1 al 12. 3
DDDD Nombre del día en mayúsculas. Monday
DDD Nombre abreviado del día. Mon
DD Día del 01 al 31. 06
D Del día 1 al 31. 6
HH Hora en formato de 24 horas de 00 a 23. 15
hh Hora en formato de 12 horas de 01 a 12. 03
h Hora en formato de 12 horas de 1 a 12. 3
mm Minuto de 00 a 59. 04
m Minuto de 0 a 59. 4
ss Segundos de 00 a 59. 08
s Segundos del 0 al 59. 8
FFFFFFFFF Segundos fraccionarios con 9 dígitos, incluidos ceros, a la derecha de los dígitos especificados. 00.123456789
FFFFFFFF Segundos fraccionarios con 8 dígitos, incluidos ceros, a la derecha de los dígitos especificados. 00.12345678
FFFFFFF fracciones de segundos con 7 dígitos, incluidos ceros, a la derecha de los dígitos especificados. 00.1234567
FFFFFF fracciones de segundos con 6 dígitos, incluidos ceros, a la derecha de los dígitos especificados. 00.123456
FFFFF Segundos fraccionarios con 5 dígitos, incluidos ceros, a la derecha de los dígitos especificados. 00.12345
FFFF Segundos fraccionarios con 4 dígitos, incluidos ceros, a la derecha de los dígitos especificados. 00.1234
FFF Segundos fraccionarios con 3 dígitos, incluidos ceros, a la derecha de los dígitos especificados. 00.123
FF Segundos fraccionarios con 2 dígitos, incluidos ceros, a la derecha de los dígitos especificados. 00.12
F Segundos fraccionarios con 1 dígito, incluidos ceros, a la derecha de los dígitos especificados. 00.1
fffffffff Segundos fraccionarios con 9 dígitos. 987654321
ffffffff Segundos fraccionarios con 8 dígitos. 98765432
fffffff Segundos fraccionarios con 7 dígitos. 9876543
ffffff Segundos fraccionarios con 6 dígitos. 987654
fffff Segundos fraccionarios con 5 dígitos. 98765
ffff Segundos fraccionarios con 4 dígitos. 9876
fff Segundos fraccionarios con 3 dígitos. 987
ff Segundos fraccionarios con 2 dígitos. 98
f Fracciones de segundos con 1 dígito. 9
tt Indicador de meridiano (mañana o noche). Cuando se da formato, es A.M. o P.M. PM
t Indicador corto del meridiano (mañana o noche). Se asigna a am o pm en minúscula. pm
K Nombre de la zona horaria PST
kk Zona horaria en formato ±xx:xx -8:00:00
k Zona horaria en formato ±xxxx -8000

Is Leap Year

Sintaxis

isLeapYear(year)
      
Descripción Comprueba si el año determinado es bisiesto.
Parámetro de datos año: Año de entrada (número real).
Tipo de datos que se muestran BOOLEAN
Salida Muestra TRUE si el año es un año bisiesto y, de lo contrario, es FALSE.

Now In Millis

Sintaxis

nowInMillis()
      
Descripción Muestra el tiempo de época actual de Unix de la integración en milisegundos.
Parámetro de datos N/A
Tipo de datos que se muestran INT64
Salida Muestra el tiempo de época actual de Unix en milisegundos.

Funciones de utilidad


UUID

Sintaxis

uuid()
      
Descripción Genera un identificador único universal aleatorio (UUID) como una STRING. La STRING que se muestra consta de 32 dígitos hexadecimales en cinco grupos separados por guiones en formato 8-4-4-4-12. Los dígitos hexadecimales representan 122 bits aleatorios y 6 bits fijos, en conformidad con RFC 4122 sección 4.4. La STRING que se muestra está en minúscula.
Parámetro de datos N/A
Tipo de datos que se muestran STRING
Salida Muestra el UUID generado en formato de string.

Integration name

Sintaxis

getIntegrationName()
      
Descripción Obtén el nombre de la integración actual.
Parámetro de datos N/A
Tipo de datos que se muestran STRING
Salida Muestra el nombre de la integración actual.

Integration region

Sintaxis

getIntegrationRegion()
      
Descripción Obtén la región de la integración actual.
Parámetro de datos N/A
Tipo de datos que se muestran STRING
Salida Muestra la región de la integración actual.

Integration version ID

Sintaxis

getIntegrationVersionId()
      
Descripción Obtén el ID de la versión de integración de la integración actual.
Parámetro de datos N/A
Tipo de datos que se muestran STRING
Salida Muestra el ID de la versión de integración de la integración actual.

Integration version number

Sintaxis

getIntegrationVersionNumber()
      
Descripción Obtén el número de versión de la integración actual.
Parámetro de datos N/A
Tipo de datos que se muestran NUMBER
Salida Muestra el número de versión de la integración actual.

Execution ID

Sintaxis

getExecutionId()
      
Descripción Obtén el ID de ejecución de la integración actual.
Parámetro de datos N/A
Tipo de datos que se muestran STRING
Salida Muestra el ID de ejecución de la ejecución de integración actual.

Project ID

Sintaxis

getProjectId()
      
Descripción Obtén el ID del proyecto de Google Cloud de la integración actual.
Parámetro de datos N/A
Tipo de datos que se muestran STRING
Salida Muestra el ID del proyecto de Google Cloud de la integración actual.