Funções utilizadas no Construtor de Expressões do Orchestration Pipelines
Use essas funções em editores de código Pipelines, por exemplo, para definir uma variável de usuário ou construir uma condição avançada.
Para ver as funções do Pipelines transferidas de DataStage,, consulte DataStage Functions that are used in pipelines Expression Builder.
O Experssion Builder usa as categorias para funções de codificação:
Funções de conversão
Converte um formato de elemento de dados único em outro.
Tabela para conversão do tipo de dado básico
| Tipo | Aceita | Retorna | Sintaxe |
|---|---|---|---|
double |
int, uint, string |
double |
double(val) |
duration |
string |
duration |
duration(string) A duração deve terminar com "s", que representa segundos. |
int |
int, uint, double, string, timestamp |
int |
int(val) |
timestamp |
string |
timestamp |
timestamp(string) Converte cadeias de caracteres em carimbos de data/hora de acordo com RFC3339, ou seja, ""1972-01-01T10:00:20.021-05:00". |
uint |
int, double, string |
uint |
uint(val) |
Exemplo
Por exemplo, para executar cast de um valor para o tipo double:
double(%val%)
Ao efetuar cast duplo para int | uint, o resultado será arredondado para zero e erros se o resultado estiver fora do intervalo.
Funções padrão
Funcionalidades exclusivas do site IBM Orchestration Pipelines.
sub
Substitui as subsequências de uma sequência que corresponde à expressão regular especificada que inicia no deslocamento de posição
Sintaxe
(string).sub(substring (string), replacement (string), [occurrence (int), [offset (int)]])
retorna: a sequência com subsequências atualizadas.
Exemplos
'aaabbbcccbbb'.sub('[b]+','RE')
Retorna 'aaaREcccRE'.
formato
Formata uma sequência de caracteres ou registro de data e hora de acordo com um especificador de formato e retorna a sequência de caracteres resultante.
Sintaxe
format como um método de sequências
(string).format(parameter 1 (string or bool or number)... parameter 10 (string or bool or number))
returns: a cadeia que contém os valores de entrada formatados.
format como um método de registros de data e hora
(timestamp).format(layout(string))
retorna: o registro de data e hora formatado no formato de sequência.
Exemplos
'number=%d, text=%s'.format(1, 'str')
Retorna a sequência 'number=1, text=str'.
timestamp('2020-07-24T09:07:29.000-00:00').format('%Y/%m/%d')
Retorna a sequência '2020/07/24'.
hoje
Retorna o registro de data e hora atual.
Sintaxe
now()
retorna: o registro de data e hora atual.
parseTimestamp
Retorna o timestamp atual no formato string.
Sintaxe
parseTimestamp([timestamp_string(string)] [layout(string)])
retorna: o timestamp atual a uma string de tipo string.
Exemplos
parseTimestamp('2020-07-24T09:07:29Z')
Retorna '2020-07-24T09:07:29.000-00:00'.
min
Retorna valor mínimo em lista.
Sintaxe
(list).min()
retorna: o valor mínimo da lista.
Exemplos
[1,2,3].min()
Retorna o número inteiro 1.
máx
Retorna valor máximo em lista.
Sintaxe
(list).max()
retorna: o valor máximo da lista.
Exemplos
[1,2,3].max()
Retorna o número inteiro 3.
argmin
Retorna índice de valor mínimo em lista.
Sintaxe
(list).argmin()
retorna: o índice do valor mínimo da lista.
Exemplos
[1,2,3].argmin()
Retorna o número inteiro 0.
argmax
Retorna índice de valor máximo em lista.
Sintaxe
(list).argmax()
retorna: o índice do valor máximo da lista.
Exemplos
[1,2,3].argmax()
Retorna o número inteiro 2.
soma
Retorna a soma de valores na lista
Sintaxe
(list).sum()
retorna: o índice do valor máximo da lista.
Exemplos
[1,2,3].argmax()
Retorna o número inteiro 2.
base64.decode
Decodifica a sequência base64-encoded para bytes. Essa função retorna um erro se a entrada da cadeia não for base64-encoded.
Sintaxe
base64.decode(base64_encoded_string(string))
retorna: a sequência decodificada base64-encoded em formato de byte.
Exemplos
base64.decode('aGVsbG8=')
Retorna 'hello' em bytes.
base64.encode
Codifica bytes para uma sequência base64-encoded.
Sintaxe
base64.encode(bytes_to_encode (bytes))
retorna: a sequência base64-encoded codificada do valor do byte original.
Exemplos
base64.decode(b'hello')
Retorna 'aGVsbG8=' em bytes.
charAt
Retorna o caractere na posição determinada. Se a posição for negativa ou maior que o comprimento da cadeia, a função produz um erro.
Sintaxe
(string).charAt(index (int))
retorna: o caractere da posição especificada no formato de número inteiro.
Exemplos
'hello'.charAt(4)
Retorna o caractere 'o'.
indexOf
Retorna o índice inteiro da primeira ocorrência da sequência de procura. Se a sequência de procura não for localizada a função retorna -1.
Sintaxe
(string).indexOf(search_string (string), [offset (int)])
retorna: o índice da primeira ocorrência de caractere após o deslocamento.
Exemplos
'hello mellow'.indexOf('ello', 2)
Retorna o número inteiro 7.
lowerAscii
Retorna uma nova sequência com caracteres ASCII virados para minúsculas.
Sintaxe
(string).lowerAscii()
retorna: a nova sequência em minúsculas.
Exemplos
'TacoCat'.lowerAscii()
Retorna a sequência 'TACOCAT'.
substituir
Retorna uma nova sequência com base no destino, que substitui as ocorrências de uma sequência de procura com uma sequência de substituição se estiver presente. A função aceita um limite opcional sobre o número de substituições de subsequências a serem feitas.
Sintaxe
(string).replace(search_string (string), replacement (string), [offset (int)])
retorna: a nova sequência com ocorrências de uma sequência de procura substituída.
Exemplos
'hello hello'.replace('he', 'we')
Retorna a sequência 'wello wello'.
split
Retorna uma lista de sequências que são divididas da entrada pelo separador. A função aceita um argumento opcional que especifica um limite no número de subsequências produzidas pela divisão.
Sintaxe
(string).split(separator (string), [limit (int)])
retorna: a sequência de divisão como uma lista de sequências.
Exemplos
'hello hello hello'.split(' ')
Retorna a lista string ['hello ',' hello ',' hello '].
subsequência
Retorna a subsequência determinada um intervalo numérico correspondente às posições de caracteres. Opcionalmente, você pode omitir o intervalo final para uma subsequência de uma posição de caractere até o final de uma sequência.
Sintaxe
(string).substring(start (int), [end (int)])
retorna: a subsequência no índice especificado da sequência.
Exemplos
'tacocat'.substring(4)
Retorna a sequência 'cat'.
trim
Retorna uma nova sequência, que remove o espaço em branco inicial e final na sequência de destino. A função trim usa a definição Unicode de espaço em branco, que não inclui espaços de largura zero.
Sintaxe
(string).trim()
retorna: a nova cadeia com espaços em branco removidos.
Exemplos
' \ttrim\n '.trim()
Retorna a sequência 'trim'.
upperAscii
Retorna uma nova sequência em que todos os caracteres ASCII são de transformados em letras maiúsculas.
Sintaxe
(string).upperAscii()
retorna: a nova sequência com todos os caracteres transformada para letras maiúsculas.
Exemplos
'TacoCat'.upperAscii()
Retorna a sequência 'TACOCAT'.
tamanho
Retorna o comprimento da sequência, bytes, lista ou mapa.
Sintaxe
(string | bytes | list | map).size()
retorna: o comprimento da sequência, bytes, lista ou mapa.
Exemplos
'hello'.size()
Retorna o número inteiro 5.
'hello'.size()
Retorna o número inteiro 5.
['a','b','c'].size()
Retorna o número inteiro 3.
{'key': 'value'}.size()
Retorna o número inteiro 1.
contém
Testa se o operando de sequência contém a subsequência.
Sintaxe
(string).contains(substring (string))
retorna: um valor booleano de se a subsequência existe no operando sequência
Exemplos
'hello'.contains('ll')
Retorna true.
endsWith
Testa se o operando sequência termina com o sufixo especificado.
Sintaxe
(string).endsWith(suffix (string))
retorna: um valor booleano de se a sequência termina com sufixo especificado no operando sequência.
Exemplos
'hello'.endsWith('llo')
Retorna true.
startsWith
Testa se o operando sequência começa com o argumento prefixo.
Sintaxe
(string).startsWith(prefix (string))
retorna: um valor booleano de se a sequência inicia com prefixo especificado no operando sequência.
Exemplos
'hello'.startsWith('he')
Retorna true.
corresponde
Testa se o operando sequência corresponde a expressão regular.
Sintaxe
(string).matches(prefix (string))
retorna: um valor booleano de se a sequência corresponde à expressão regular especificada.
Exemplos
'Hello'.matches('[Hh]ello')
Retorna true.
getDate
Obtenha o dia do mês a partir da data com fuso horário (Hora Universal Coordenada padrão), indexação baseada em um.
Sintaxe
(timestamp).getDate([time_zone (string)])
retorna: o dia do mês com indexação baseada em um.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getDate()
Retorna 24.
getDayOfMonth
Obter o dia do mês a partir da data com fuso horário (Hora Universal Coordenada padrão), indexação baseada em zero.
Sintaxe
(timestamp).getDayOfMonth([time_zone (string)])
retorna: o dia do mês com indexação baseada em zero.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfMonth()
Retorna 23.
getDayOfWeek
Obter dia da semana a partir da data com fuso horário (Hora Universal Coordenada padrão), indexação baseada em zero, zero para domingo.
Sintaxe
(timestamp).getDayOfWeek([time_zone (string)])
retorna: o dia da semana com indexação baseada em zero.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfWeek()
Retorna 5.
getDayOfYear
Obter o dia do ano a partir da data com fuso horário (Hora Universal Coordenada padrão), indexação baseada em zero.
Sintaxe
(timestamp).getDayOfYear([time_zone (string)])
retorna: o dia do ano com indexação baseada em zero.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfYear()
Retorna 205.
getFullYear
Obter o ano a partir da data com fuso horário (Hora Universal Coordenada padrão).
Sintaxe
(timestamp).getFullYear([time_zone (string)])
retorna: o ano a partir da data.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getFullYear()
Retorna 2020.
getMonth
Obter o mês a partir da data com fuso horário, 0-11.
Sintaxe
(timestamp).getMonth([time_zone (string)])
retorna: o mês a partir da data.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getMonth()
Retorna 6.
getHours
Obter horas a partir da data com fuso horário, 0-23.
Sintaxe
(timestamp).getHours([time_zone (string)])
retorna: a hora a partir da data.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getHours()
Retorna 9.
getMinutes
Obter minutos a partir da data com fuso horário, 0-59.
Sintaxe
(timestamp).getMinutes([time_zone (string)])
retorna: o minuto a partir da data.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getMinutes()
Retorna 7.
getSeconds
Obter segundos a partir da data com fuso horário, 0-59.
Sintaxe
(timestamp).getSeconds([time_zone (string)])
retorna: o segundo a partir da data.
Exemplos
timestamp('2020-07-24T09:07:29.000-00:00').getSeconds()
Retorna 29.
getMilliseconds
Obter milissegundos da data com fuso horário, 0-999.
Sintaxe
(timestamp).getMilliseconds([time_zone (string)])
retorna: o milissegundo a partir da data.
Exemplos
timestamp('2020-07-24T09:07:29.021-00:00').getMilliseconds()
Retorna 21.
Acesso a objetos globais avançados
Obtenha saídas de nó, variáveis de usuário, e parâmetros de pipeline usando o código Pipelines a seguir
Obter variável de usuário
Obtém o valor mais atualizado de uma variável de usuário..
Sintaxe
vars.<var name>
Exemplos
| Exemplo | Saída |
|---|---|
vars.my_user_var |
Obtém o valor da variável de usuário my_user_var |
Obter parâmetros
Obtém os parâmetros de fluxo.
Sintaxe
params.<param name>
Exemplos
| Exemplo | Saída |
|---|---|
params.a |
Obtém o valor do parâmetro a |
Obter conjuntos de parâmetros
Obtém os conjuntos de parâmetros de fluxo
Sintaxe
param_set.<param_set_name>.<param_name>
Exemplos
| Exemplo | Saída |
|---|---|
param_set.ps.a |
Obtém o valor do parâmetro a de um conjunto de parâmetros ps |
param_sets.config |
Obtém os valores de configuração de pipeline |
param_sets.config.deadline |
Obtém um objeto de data do conjunto de parâmetros de configurações |
param_sets.ps["$PARAM"] |
Obtém o valor do parâmetro $PARAM de um conjunto de parâmetros ps |
Obter resultados da tarefa.
Obtenha a saída resultante de uma tarefa de pipeline e outras métricas de uma tarefa de pipeline após concluir sua execução.
Sintaxe
tasks.<node id>.<output name>
Exemplos
| Exemplo | Saída |
|---|---|
tasks.run_datastage_job |
Obtém o dicionário de resultados da saída de tarefa.. |
tasks.run_datastage_job.results.score |
Obtém o valor score de saída de tarefa. |
tasks.run_datastage_job.results.timestamp |
Obtém o registro de data e hora final da execução da tarefa |
tasks.run_datastage_job.results.error |
Obtém o número de erros da execução da tarefa.. |
tasks.loop_task.loop.counter |
Obtém o contador iterativo do loop atual da execução da tarefa.. |
tasks.loop_task.loop.item |
Obtém o item iterativo de loop atual da execução da tarefa.. |
tasks.run_datastage_job.results.status |
Obtém o status de sucesso ou falha da execução da tarefa |
tasks.run_datastage_job.results.status_message |
Obtém a mensagem de status da execução da tarefa.. |
tasks.run_datastage_job.results.job_name |
Obtém o nome da tarefa |
tasks.run_datastage_job.results.job |
Obtém o caminho de tarefa do Cloud Pak for Data |
tasks.run_datastage_job.results.job_run |
Obtém o caminho de execução do Cloud Pak for Data da execução da tarefa |
Obter objetos de contexto de pipeline
Obtém valores que são avaliados no contexto de um pipeline que é executado em um escopo (projeto, espaço, catálogo).
Exemplos
| Exemplo | Saída |
|---|---|
ctx.scope.id |
Obtém ID do escopo |
ctx.scope.type |
Retorna "project", "space" ou "catalog" |
ctx.scope.name |
Obtém nome do escopo |
ctx.pipeline.id |
Obtém o ID do pipeline. |
ctx.pipeline.name |
Obtém nome do pipeline |
ctx.job.id |
Obtém ID da tarefa |
ctx.run_datastage_job.id |
Obtém ID de execução da tarefa |
ctx.run_datastage_job.started_at |
Obtém o horário de início da tarefa |
ctx.user.id |
Obtém o ID do usuário |
Obter status do erro
Se o manipulador de exceções for acionado, um objeto de erro será criado e se tornará acessível apenas dentro do manipulador de exceções
Exemplos
| Exemplo | Saída |
|---|---|
error.status |
Obtém o status de sucesso ou falha da execução da tarefa, geralmente com falha |
error.status_message |
Obtém a mensagem de status de erro.. |
error.job |
Obtém o caminho de tarefa do Cloud Pak for Data |
error.run_datastage_job |
Obtém o caminho de execução da tarefa Cloud Pak for Data (não disponível em watsonx) |