Funções do Data Transformer

Nesta página, descrevemos o conjunto adicional de funções Jsonnet predefinidas para a tarefa Data Transformer Script disponível na integração da Apigee.

Para usar as seguintes funções predefinidas, é necessário importar a biblioteca functions no script. Importar a biblioteca functions permite que você use as funções padrão do Jsonnet e as funções predefinidas do Data Transformer.

A integração da Apigee oferece suporte à biblioteca de funções Jsonnet v0.20.0. Para mais informações sobre as funções padrão da Jsonnet, consulte a Biblioteca padrão Jsonnet.

Funções de matriz


Average

Sintaxe
        
avg(arr)
      
Descrição Calcula a média numérica de todos os valores em uma matriz.
Parâmetro de entrada arr:: a matriz de entrada.
Tipo de retorno DOUBLE
Saída Retorna a média de todos os valores na matriz.

Contains

Sintaxe
        
contains(arr, elem)
      
Descrição Verifica a ocorrência do elemento especificado em uma matriz.
Parâmetro de entrada arr:: a matriz de entrada.

elem: o elemento da matriz a ser pesquisado.

Tipo de retorno BOOLEAN
Saída Retorna TRUE se uma correspondência for encontrada. Caso contrário, retornará FALSE.

Max Array

Sintaxe
        
maxArray(arr)
      
Descrição Encontra o maior valor em uma matriz.
Parâmetro de entrada arr:: a matriz de entrada.
Tipo de retorno Tipo de dados da matriz de entrada.
Saída Retorna o valor mais alto encontrado na matriz.

Min Array

Sintaxe
        
minArray(arr)
      
Descrição Encontra o menor valor em uma matriz.
Parâmetro de entrada arr:: a matriz de entrada.
Tipo de retorno Tipo de dados da matriz de entrada.
Saída/th> Retorna o menor valor encontrado na matriz.

Remove

Sintaxe
        
remove(arr, elem)
      
Descrição Remove o elemento especificado de uma matriz.
Parâmetro de entrada arr:: a matriz de entrada.

elem: o elemento de matriz a ser removido.

Tipo de retorno Tipo de dados da matriz de entrada.
Saída Retorna a matriz atualizada após a remoção do elemento especificado.

Remove At

Sintaxe
        
removeAt(arr, index)
      
Descrição Remove um elemento de uma matriz no índice especificado.
Parâmetro de entrada arr:: a matriz de entrada.

index: o índice da matriz do elemento a ser removido.

Tipo de retorno Tipo de dados da matriz de entrada.
Saída Retorna a matriz atualizada após a remoção do elemento especificado.

Sum

Sintaxe
        
sum(arr)
      
Descrição Adiciona os valores de uma matriz.
Parâmetro de entrada arr:: a matriz de entrada.
Tipo de retorno Tipo de dados da matriz de entrada.
Saída Retorna a soma de todos os elementos na matriz.

GroupBy

Sintaxe
        
groupBy(array, function)
      
Descrição Cria um objeto composto de chaves geradas com os resultados da execução de cada elemento da matriz pela função de iteração. Por exemplo, f.groupBy([1,1.3,1.8],std.floor) geraria {"1": [1,1.3,1.8]}.
Parâmetro de entrada
  • matriz: a coleção em que o método faz a iteração.

    função: a função invocada para cada elemento na matriz.

Tipo de retorno JSON
Saída Retorna o objeto agregado composto.

Zip

Sintaxe
        
zip([arrays])
      
Descrição Ele cria uma matriz de elementos agrupados, sendo que o primeiro contém os primeiros elementos das matrizes fornecidas, o segundo contém o segundo elemento das matrizes fornecidas e assim por diante. Por exemplo, f.zip([[1, "one", "I"],[2, "two", "II"],[3, "three", "III"]]) geraria [[1,2,3],["one", "two", "three"],["I", "II", "III"]].
Parâmetro de entrada [arrays]: esse parâmetro contém as matrizes que serão processadas.
Tipo de retorno array
Saída Retorna a nova matriz de elementos reagrupados.

Unzip

Sintaxe
        
unzip(array)
      
Descrição Ele cria uma matriz de elementos agrupados. Aceita uma matriz de elementos agrupados e cria uma matriz reagrupando os elementos para a configuração pré-compactada. Por exemplo, f.unzip([[1, "one", "I"],[2, "two", "II"],[3, "three", "III"]]) geraria [[1,2,3],["one", "two", "three"],["I", "II", "III"]].
Parâmetro de entrada matriz: esse parâmetro contém a matriz de elementos agrupados a serem processados.
Tipo de retorno array
Saída Retorna a nova matriz de elementos reagrupados.

Funções de agregação


XNOR

Sintaxe
        
xnor(a, b)
      
Descrição Executa a operação lógica do AvroOR nos valores booleanos especificados.
Parâmetro de entrada a: um valor booleano.

b: um valor booleano.

Tipo de retorno BOOLEAN
Saída Retorna o XNOR dos dois booleanos fornecidos.

Xor

Sintaxe
        
xor(a, b)
      
Descrição Executa a operação lógica do XOR nos valores booleanos especificados.
Parâmetro de entrada a: um valor booleano.

b: um valor booleano.

Tipo de retorno BOOLEAN
Saída Retorna o XOR dos dois booleanos fornecidos.

Funções de hash


SHA1

Sintaxe
        
sha1(str)
      
Descrição Calcula o hash criptográfico da entrada STRING usando o algoritmo Secure Hash Algorithm 1 (SHA-1).
Parâmetro de entrada str:: a string de entrada.
Tipo de retorno BYTES
Saída Retorna um valor de hash de 160 bits (20 bytes).

SHA256

Sintaxe
        
sha256(str)
      
Descrição Calcula o hash criptográfico da entrada STRING usando o algoritmo Secure Hash Algorithm 256 (SHA-256).
Parâmetro de entrada str:: a string de entrada.
Tipo de retorno BYTES
Saída Retorna um valor de hash de 256 bits (32 bytes).

SHA512

Sintaxe
        
sha512(str)
      
Descrição Calcula o hash criptográfico da entrada STRING usando o algoritmo Secure Hash Algorithm 512 (SHA-512).
Parâmetro de entrada str:: a string de entrada.
Tipo de retorno BYTES
Saída Retorna um valor de hash de 512 bits (64 bytes).

SHA3

Sintaxe
        
sha3(str)
      
Descrição Calcula o hash criptográfico da entrada STRING usando o algoritmo Secure Hash Algorithm 3 (SHA-3).
Parâmetro de entrada str:: a string de entrada.
Tipo de retorno BYTES
Saída Retorna um valor de hash de 512 bits (64 bytes).

Funções JSON


Manifest XML

Sintaxe
        
manifestXml(json, format = "badgerfish", indent_output = false)
      
Descrição Converte o objeto JSON de entrada especificado em uma string XML.
Parâmetro de entrada json: o objeto JSON de entrada.

format: o formato de representação JSON de entrada.

indent_output: entrada booleana para indicar se a string XML de saída precisa ser recuada. O valor padrão é False;

Tipo de retorno STRING
Saída Retorna a string XML da representação do objeto JSON fornecida.

Object Remove Key

Sintaxe
        
objectRemoveKey(obj, key)
      
Descrição Remove uma propriedade de um objeto JSON.
Parâmetro de entrada obj:: o objeto JSON de entrada.

key: a propriedade JSON a ser removida.

Tipo de retorno JSON
Saída Objeto JSON atualizado após a remoção da propriedade especificada e do valor correspondente.

Parse XML

Sintaxe
        
parseXml(xml, format = "badgerfish")
      
Descrição Analisa a string XML de entrada especificada em um objeto JSON.
Parâmetro de entrada xml: string XML de entrada.

format: o formato de representação JSON de saída.

Tipo de retorno JSON
Saída Retorna a representação do objeto JSON da string XML fornecida.

Parse CSV With Header

Sintaxe
        
parseCsvWithHeader(input, delimiter = ",", overwrite_duplicate_headers = true)
      
Descrição Analisa a string csv de entrada fornecida como json. A primeira linha é considerada o cabeçalho. Por exemplo, f.parseCsvWithHeader("index,product,company\n1,Application Integration,Google\n2,Pubsub,Google") geraria [{"index": "1", "product": "Application Integration", "company": "Google"},{"index": "2", "product": "Pubsub", "company": "Google"}].
Parâmetro de entrada entrada: a string CSV que será analisada.

delimitador: string delimitador que será usada. O valor padrão é 0 '.'.

overwrite_duplicate_headers:: opção para substituir os valores dos cabeçalhos duplicados. Caso definido como falso, o cabeçalho duplicado será renomeado. O valor padrão é true;

Tipo de retorno JSON
Saída Retorna a representação json de determinada string csv.

Manifest CSV

Sintaxe
        
manifestCsv(json, headers = null)
      
Descrição Converte o JSON determinado em uma string CSV. Por exemplo, f.manifestCsv([{"index": "1", "product": "Application Integration", "company": "Google"},{"index": "2", "product": "Pubsub", "company": "Google"}]) geraria index,product,company\n1,Application Integration,Google\n2,Pubsub,Google.
Parâmetro de entrada json: JSON que será convertido em CSV.

cabeçalhos: lista de cabeçalhos para a saída CSV. Se nenhum valor for fornecido, todos os cabeçalhos serão usados.

Tipo de retorno STRING
Saída Retorna a string csv de JSON no formato determinado.

Funções matemáticas


Is Decimal

Sintaxe
        
isDecimal(num)
      
Descrição Verifica se o número fornecido é um decimal.
Parâmetro de entrada num:: o número de entrada.
Tipo de retorno BOOLEAN
Saída Retornará TRUE se o número for decimal e FALSE se não for.

Is Even

Sintaxe
        
isEven(num)
      
Descrição Verifica se o número fornecido é par.
Parâmetro de entrada num:: o número de entrada.
Tipo de retorno BOOLEAN
Saída Retorna TRUE caso o número seja par e FALSE se não for.

Is Integer

Sintaxe
        
isInteger(num)
      
Descrição Verifica se o número fornecido é um número inteiro.
Parâmetro de entrada num:: o número de entrada.
Tipo de retorno BOOLEAN
Saída Retorna TRUE caso o número seja um inteiro. Caso contrário, retorna FALSE.

Is Odd

Sintaxe
        
isOdd(num)
      
Descrição Verifica se o número fornecido é ímpar.
Parâmetro de entrada num:: o número de entrada.
Tipo de retorno BOOLEAN
Saída Retorna TRUE caso o número seja ímpar e FALSE, caso contrário.

Random Number

Sintaxe
        
randomNumber(lowerBound, upperBound)
      
Descrição Gera um número real aleatório entre um intervalo especificado.
Parâmetro de entrada lowerBound: o valor do intervalo mais baixo (inclusive). O valor padrão é 0;

upperBound: valor do intervalo mais alto (exclusivo). O valor padrão é 1;

Tipo de retorno Um número real.
Saída Retorna um número real aleatório entre lowerBound e upperBound.

Round

Sintaxe
        
round(input)
      
Descrição Arredonda um número para o número inteiro mais próximo.
Parâmetro de entrada input:um valor para arredondar.
Tipo de retorno INTEGER
Valor de retorno Retorna o número inteiro arredondado mais próximo.

Funções de string


Equals Ignore Case

Sintaxe
        
equalsIgnoreCase(str1, str2)
      
Descrição Compare os dois valores de string independentemente do uso de maiúsculas e minúsculas.
Parâmetro de entrada str1: uma string de entrada.

str2: uma string de entrada.

Tipo de retorno BOOLEAN
Saída Retorna TRUE se o valor especificado corresponder ao valor existente (ignorando maiúsculas e minúsculas) e FALSE se não for.

Is Empty

Sintaxe
        
isEmpty(str)
      
Descrição Verifica se o comprimento da string fornecida é 0.
Parâmetro de entrada str:: a string de entrada.
Tipo de retorno BOOLEAN
Saída Retornará TRUE se a string estiver vazia e FALSE se não estiver.

Match

Sintaxe
        
match(str, regexp)
      
Descrição Recupera o resultado da correspondência de uma string com uma expressão regular.
Parâmetro de entrada str: string de entrada.

regexp: a expressão regular re2.

Tipo de retorno ARRAY
Saída Retorna uma matriz de todas as substrings de str que correspondem à expressão regular, regexp. Retorna uma matriz vazia se não houver correspondência.

Trim

Sintaxe
        
trim(str)
      
Descrição Remove todos os espaços à esquerda e à direita de uma determinada string.
Parâmetro de entrada str:: a string de entrada.
Tipo de retorno STRING
Saída Retorna uma cópia da string com o espaço em branco à esquerda e à direita removido.

Funções de carimbo de data/hora


Date Format

Sintaxe
        
dateFormat(timestamp, format_string, timezone, current_format)
      
Descrição Formata um carimbo de data e hora de acordo com o format_string especificado.
Parâmetro de entrada timestamp: o carimbo de data/hora de entrada

format_string: o novo formato de carimbo de data/hora. Consulte Elementos de formatos de carimbo de data/hora compatíveis para ver uma lista dos elementos de formato que podem ser usados para formar a nova string de formato de carimbo de data/hora.

timezone: o fuso horário do carimbo de data/hora de entrada fornecido. O valor padrão é UTC;

current_format: o formato usado para analisar o carimbo de data/hora da entrada fornecida. O valor padrão é E (epoch).

Tipo de retorno STRING
Saída Retorna uma nova string após converter o timestamp de entrada com base no format_string especificado.

Elementos de formatos de carimbo de data/hora compatíveis

A tabela a seguir lista os elementos de formato aceitos para a função dateFormat():

Elemento de formato Descrição Exemplo
YYYY Ano com 4 dígitos. 2023
YY Últimos dois dígitos do ano. 23
MMMM Nome do mês em maiúsculas. March
MMM Nome abreviado do mês em maiúsculas. Mar
MM Mês de 01 a 12. 03
M Mês de 1 a 12. 3
DDDD Nome do dia em maiúsculas. Monday
DDD Nome abreviado do dia. Mon
DD Dia de 01 a 31. 06
D Dia de 1 a 31. 6
HH Hora no formato de 24 horas de 00 a 23. 15
hh Hora no formato de 12 horas de 01 a 12. 03
h Hora no 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 de 0 a 59. 8
FFFFFFFFF Frações de segundos com nove dígitos, incluindo zeros, à direita dos dígitos especificados. 00.123456789
FFFFFFFF Segundos fracionários com oito dígitos, incluindo zeros, à direita dos dígitos especificados. 00.12345678
FFFFFFF Segundos fracionários com sete dígitos, incluindo zeros, à direita dos dígitos especificados. 00.1234567
FFFFFF Segundos fracionários com seis dígitos, incluindo zeros, à direita dos dígitos especificados. 00.123456
FFFFF Frações de segundos com cinco dígitos, incluindo zeros, à direita dos dígitos especificados. 00.12345
FFFF Frações de segundos com quatro dígitos, incluindo zeros, à direita dos dígitos especificados. 00.1234
FFF Frações de segundos com três dígitos, incluindo zeros, à direita dos dígitos especificados. 00.123
FF Frações de segundos com dois dígitos, incluindo zeros, à direita dos dígitos especificados. 00.12
F Frações de segundos com um dígito, incluindo zeros, à direita dos dígitos especificados. 00.1
fffffffff Segundos fracionários com nove dígitos. 987654321
ffffffff Segundos fracionários com oito dígitos. 98765432
fffffff Fração de segundos com sete dígitos. 9876543
ffffff Segundos fracionários com seis dígitos 987654
fffff Fração de segundos com cinco dígitos. 98765
ffff Fração de segundos com quatro dígitos. 9876
fff Fração de segundos com três dígitos. 987
ff Segundos fracionários com dois dígitos. 98
f Segundos fracionários com um dígito. 9
tt Indicador de meridiano (manhã ou noite). Ao formatar, o formato é AM ou PM. PM
t Indicador curto do meridiano (manhã ou noite). Mapeia para as letras minúsculas am ou pm. pm
K Nome do fuso horário PST
kk Fuso horário no formato ±xx:xx. -8:00:00
k Fuso horário no formato ±xxxx. -8000

Is Leap Year

Sintaxe
        
isLeapYear(year)
      
Descrição Verifica se o ano especificado é bissexto.
Parâmetro de entrada ano: o ano de entrada (número real).
Tipo de retorno BOOLEAN
Saída Retornará TRUE se o ano for bissexto. Caso contrário, retorna FALSE.

Now In Millis

Sintaxe
        
nowInMillis()
      
Descrição Retorna o tempo atual do período Unix da integração em milissegundos.
Parâmetro de entrada N/A
Tipo de retorno INT64
Saída Retorna o tempo da era Unix atual em milissegundos.

Funções do utilitário


UUID

Sintaxe
        
uuid()
      
Descrição Gera um identificador universalmente aleatório exclusivo (UUID) como uma STRING. A STRING retornada consiste em 32 dígitos hexadecimais em cinco grupos separados por hifens no formato 8-4-4-4-12. Os dígitos hexadecimais representam 122 bits aleatórios e 6 bits fixos, em conformidade com a seção 4.4 da RFC 4122. A STRING retornada está em letras minúsculas.
Parâmetro de entrada N/A
Tipo de retorno STRING
Saída Retorna o UUID gerado no formato de string.

Integration name

Sintaxe
        
getIntegrationName()
      
Descrição Recebe o nome da integração atual.
Parâmetro de entrada N/A
Tipo de retorno STRING
Saída Retorna o nome da integração atual.

Integration region

Sintaxe
        
getIntegrationRegion()
      
Descrição Recebe a região da integração atual.
Parâmetro de entrada N/A
Tipo de retorno STRING
Saída Retorna a região da integração atual.

Integration version ID

Sintaxe
        
getIntegrationVersionId()
      
Descrição Receba o ID da integração atual.
Parâmetro de entrada N/A
Tipo de retorno STRING
Saída Retorna o ID da integração atual.

Integration version number

Sintaxe
        
getIntegrationVersionNumber()
      
Descrição Consiga o número da versão da integração atual.
Parâmetro de entrada N/A
Tipo de retorno NUMBER
Saída Retorna o número da versão da integração atual.

Execution ID

Sintaxe
        
getExecutionId()
      
Descrição Recebe o ID da execução da integração atual.
Parâmetro de entrada N/A
Tipo de retorno STRING
Saída Retorna o ID de execução da integração atual.

Project ID

Sintaxe
        
getProjectId()
      
Descrição Recebe o ID do projeto do Google Cloud da integração atual.
Parâmetro de entrada N/A
Tipo de retorno STRING
Saída Retorna o ID do projeto do Google Cloud da integração atual.