Utilice estas funciones en los editores de código de interconexiones, por ejemplo, para definir una variable de usuario o crear una condición avanzada.
Para ver las funciones de interconexiones transferidas desde DataStage, consulte Funciones deDataStage que se utilizan en el creador de expresiones de interconexiones.
El constructor de experssiones utiliza las categorías para codificar funciones:
Funciones de conversión
Convierte un único formato de elemento de datos en otro.
Tabla para la conversión de tipos de datos básicos
Tipo | Acepta | Devuelve | Sintaxis |
---|---|---|---|
double |
int, uint, string |
double |
double(val) |
duration |
string |
duration |
duration(string) La duración debe finalizar con "s", que representa los segundos. |
int |
int, uint, double, string, timestamp |
int |
int(val) |
timestamp |
string |
timestamp |
timestamp(string) Convierte series en indicaciones de fecha y hora según RFC3339, es decir, "1972-01-01T10:00:20.021-05:00". |
uint |
int, double, string |
uint |
uint(val) |
Ejemplo
Por ejemplo, para convertir un valor al tipo double
:
double(%val%)
Al convertir doble a int | uint
, el resultado se redondea hacia cero y los errores si el resultado está fuera de rango.
Funciones estándar
Funciones que son exclusivas de IBM Orchestration Pipelines.
sub
Sustituye subseries de una serie que coincide con la expresión regular dada que empieza en el desplazamiento de posición.
Sintaxis
(string).sub(substring (string), replacement (string), [occurrence (int), [offset (int)]])
devuelve: la serie con las subseries actualizada.
Ejemplos
'aaabbbcccbbb'.sub('[b]+','RE')
Devuelve 'aaaRECcRE'.
formato
Formatea una serie o indicación de fecha y hora de acuerdo con una especificación de formato y devuelve la serie resultante.
Sintaxis
format como método de series
(string).format(parameter 1 (string or bool or number)... parameter 10 (string or bool or number))
devuelve: la serie que contiene los valores de entrada formateados.
format como método de indicaciones de fecha y hora
(timestamp).format(layout(string))
devuelve: la indicación de fecha y hora en formato de serie.
Ejemplos
'number=%d, text=%s'.format(1, 'str')
Devuelve la serie 'number=1, text=str'.
timestamp('2020-07-24T09:07:29.000-00:00').format('%Y/%m/%d')
Devuelve la serie '2020/07/24'.
now
Devuelve la indicación de fecha y hora actual.
Sintaxis
now()
devuelve: la indicación de fecha y hora actual.
parseTimestamp
Devuelve la indicación de fecha y hora actual en formato de serie.
Sintaxis
parseTimestamp([timestamp_string(string)] [layout(string)])
devuelve: la indicación de fecha y hora actual a una serie de tipo serie.
Ejemplos
parseTimestamp('2020-07-24T09:07:29Z')
Devuelve '2020-07-24T09:07:29.000-00:00'.
min.
Devuelve el valor mínimo de la lista.
Sintaxis
(list).min()
devuelve: el valor mínimo de la lista.
Ejemplos
[1,2,3].min()
Devuelve el entero 1.
máx
Devuelve el valor máximo de la lista.
Sintaxis
(list).max()
devuelve: el valor máximo de la lista.
Ejemplos
[1,2,3].max()
Devuelve el entero 3.
argmin
Devuelve el índice del valor mínimo de la lista.
Sintaxis
(list).argmin()
devuelve: el índice del valor mínimo de la lista.
Ejemplos
[1,2,3].argmin()
Devuelve el entero 0.
argmax
Devuelve el índice del valor máximo de la lista.
Sintaxis
(list).argmax()
devuelve: el índice del valor máximo de la lista.
Ejemplos
[1,2,3].argmax()
Devuelve el entero 2.
suma
Devuelve la suma de valores de la lista.
Sintaxis
(list).sum()
devuelve: el índice del valor máximo de la lista.
Ejemplos
[1,2,3].argmax()
Devuelve el entero 2.
base64.decode
Decodifica la serie base64-encoded a bytes. Esta función devuelve un error si la entrada de serie no está base64-encoded.
Sintaxis
base64.decode(base64_encoded_string(string))
devuelve: la serie base64-encoded decodificada en formato de byte.
Ejemplos
base64.decode('aGVsbG8=')
Devuelve 'hello' en bytes.
base64.encode
Codifica bytes en una serie codificada en base64.
Sintaxis
base64.encode(bytes_to_encode (bytes))
devuelve: la serie codificada en base64 codificada del valor de byte original.
Ejemplos
base64.decode(b'hello')
Devuelve 'aGVsbG8=' en bytes.
charAt
Devuelve el carácter de la posición dada. Si la posición es negativa, o mayor que la longitud de la serie, la función produce un error.
Sintaxis
(string).charAt(index (int))
devuelve: el carácter de la posición especificada en formato de entero.
Ejemplos
'hello'.charAt(4)
Devuelve el carácter 'o'.
indexOf
Devuelve el índice entero de la primera aparición de la serie de búsqueda. Si no se encuentra la serie de búsqueda, la función devuelve -1.
Sintaxis
(string).indexOf(search_string (string), [offset (int)])
devuelve: el índice de la primera aparición del carácter después del desplazamiento.
Ejemplos
'hello mellow'.indexOf('ello', 2)
Devuelve el entero 7.
lowerAscii
Devuelve una nueva serie con caracteres ASCII convertidos a minúsculas.
Sintaxis
(string).lowerAscii()
devuelve: la nueva serie en minúsculas.
Ejemplos
'TacoCat'.lowerAscii()
Devuelve la serie 'TACOCAT'.
sustituir
Devuelve una nueva serie basada en el destino, que sustituye las apariciones de una serie de búsqueda por una serie de sustitución si está presente. La función acepta un límite opcional en el número de sustituciones de subserie que se deben realizar.
Sintaxis
(string).replace(search_string (string), replacement (string), [offset (int)])
devuelve: la nueva serie con apariciones de una serie de búsqueda sustituida.
Ejemplos
'hello hello'.replace('he', 'we')
Devuelve la serie 'wello wello'.
split
Devuelve una lista de series que se dividen de la entrada mediante el separador. La función acepta un argumento opcional que especifica un límite en el número de subseries producidas por la división.
Sintaxis
(string).split(separator (string), [limit (int)])
devuelve: la serie de división como una lista de series.
Ejemplos
'hello hello hello'.split(' ')
Devuelve la lista de series ['hello ',' hello ',' hello '].
substring
Devuelve la subserie dada un rango numérico que corresponde a las posiciones de caracteres. Opcionalmente, puede omitir el rango final para una subserie desde una posición de carácter hasta el final de una serie.
Sintaxis
(string).substring(start (int), [end (int)])
devuelve: la subserie en el índice especificado de la serie.
Ejemplos
'tacocat'.substring(4)
Devuelve la serie 'cat'.
trim
Devuelve una nueva serie, que elimina el espacio en blanco inicial y final de la serie de destino. La función de recorte utiliza la definición Unicode de espacio en blanco, que no incluye los espacios de anchura cero.
Sintaxis
(string).trim()
devuelve: la nueva serie con espacios en blanco eliminados.
Ejemplos
' \ttrim\n '.trim()
Devuelve la serie 'trim'.
upperAscii
Devuelve una nueva serie donde todos los caracteres ASCII están en mayúsculas.
Sintaxis
(string).upperAscii()
devuelve: la nueva serie con todos los caracteres convertidos a mayúsculas.
Ejemplos
'TacoCat'.upperAscii()
Devuelve la serie 'TACOCAT'.
tamaño
Devuelve la longitud de la serie, bytes, lista o correlación.
Sintaxis
(string | bytes | list | map).size()
devuelve: la longitud de la serie, bytes, lista o matriz de correlación.
Ejemplos
'hello'.size()
Devuelve el entero 5.
'hello'.size()
Devuelve el entero 5.
['a','b','c'].size()
Devuelve el entero 3.
{'key': 'value'}.size()
Devuelve el entero 1.
contiene
Prueba si el operando de la serie contiene la subserie.
Sintaxis
(string).contains(substring (string))
devuelve: un valor booleano de si la subserie existe en el operando de la serie.
Ejemplos
'hello'.contains('ll')
Devuelve verdadero.
endsWith
Prueba si el operando de serie termina por el sufijo especificado.
Sintaxis
(string).endsWith(suffix (string))
devuelve: un valor booleano de si la serie termina por el sufijo especificado en el operando de la serie.
Ejemplos
'hello'.endsWith('llo')
Devuelve verdadero.
startsWith
Prueba si el operando de serie empieza por el argumento de prefijo.
Sintaxis
(string).startsWith(prefix (string))
devuelve: un valor booleano que indica de si la serie empieza por el prefijo especificado en el operando de la serie.
Ejemplos
'hello'.startsWith('he')
Devuelve verdadero.
matches
Prueba si el operando de la serie coincide con una expresión regular.
Sintaxis
(string).matches(prefix (string))
devuelve: un valor booleano de si la serie coincide con la expresión regular especificada.
Ejemplos
'Hello'.matches('[Hh]ello')
Devuelve verdadero.
getDate
Obtener el día del mes a partir de la fecha con huso horario (hora universal coordinada predeterminada), una indexación basada en uno.
Sintaxis
(timestamp).getDate([time_zone (string)])
devuelve: el día del mes con una indexación basada en uno.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getDate()
Devuelve 24.
getDayOfMonth
Obtener el día del mes a partir de la fecha con huso horario (hora universal coordinada predeterminada), indexación basada en cero.
Sintaxis
(timestamp).getDayOfMonth([time_zone (string)])
devuelve: el día del mes con indexación basada en cero.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfMonth()
Devuelve 23.
getDayOfWeek
Obtener día de la semana a partir de la fecha con huso horario (hora universal coordinada predeterminada), indexación basada en cero, cero para el domingo.
Sintaxis
(timestamp).getDayOfWeek([time_zone (string)])
devuelve: el día de la semana con indexación basada en cero.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfWeek()
Devuelve 5.
getDayOfYear
Obtener el día del año a partir de la fecha con huso horario (hora universal coordinada predeterminada), indexación basada en cero.
Sintaxis
(timestamp).getDayOfYear([time_zone (string)])
devuelve: el día del año con indexación basada en cero.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfYear()
Devuelve 205.
getFullYear
Obtener el año a partir de la fecha con huso horario (hora universal coordinada predeterminada).
Sintaxis
(timestamp).getFullYear([time_zone (string)])
returns: el año a partir de la fecha.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getFullYear()
Devuelve 2020.
getMonth
Obtener el mes a partir de la fecha con huso horario, 0-11.
Sintaxis
(timestamp).getMonth([time_zone (string)])
devuelve: el mes a partir de la fecha.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getMonth()
Devuelve 6.
getHours
Obtener horas desde la fecha con huso horario, 0-23.
Sintaxis
(timestamp).getHours([time_zone (string)])
devuelve: la hora a partir de la fecha.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getHours()
Devuelve 9.
getMinutes
Obtener minutos desde la fecha con huso horario, 0-59.
Sintaxis
(timestamp).getMinutes([time_zone (string)])
devuelve: el minuto a partir de la fecha.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getMinutes()
Devuelve 7.
getSeconds
Obtener segundos desde la fecha con huso horario, 0-59.
Sintaxis
(timestamp).getSeconds([time_zone (string)])
devuelve: el segundo a partir de la fecha.
Ejemplos
timestamp('2020-07-24T09:07:29.000-00:00').getSeconds()
Devuelve 29.
getMilliseconds
Obtener milisegundos a partir de la fecha con huso horario, 0-999.
Sintaxis
(timestamp).getMilliseconds([time_zone (string)])
devuelve: el milisegundo a partir de la fecha.
Ejemplos
timestamp('2020-07-24T09:07:29.021-00:00').getMilliseconds()
Devuelve 21.
Acceso a objetos globales avanzados
Obtenga salidas de nodo, variables de usuario y parámetros de interconexión utilizando el siguiente código de interconexiones.
Obtener variable de usuario
Obtiene el valor más actualizado de una variable de usuario.
Sintaxis
vars.<var name>
Ejemplos
Ejemplo | Resultado |
---|---|
vars.my_user_var |
Obtiene el valor de la variable de usuario my_user_var |
Obtener parámetros
Obtiene los parámetros de flujo.
Sintaxis
params.<param name>
Ejemplos
Ejemplo | Resultado |
---|---|
params.a |
Obtiene el valor del parámetro a |
Obtener conjuntos de parámetros
Obtiene los conjuntos de parámetros de flujo.
Sintaxis
param_set.<param_set_name>.<param_name>
Ejemplos
Ejemplo | Resultado |
---|---|
param_set.ps.a |
Obtiene el valor del parámetro a de un conjunto de parámetros ps |
param_sets.config |
Obtiene los valores de configuración de interconexión |
param_sets.config.deadline |
Obtiene un objeto de fecha del conjunto de parámetros de configuraciones |
param_sets.ps["$PARAM"] |
Obtiene el valor del parámetro $PARAM de un conjunto de parámetros ps |
Obtener resultados de tarea
Obtiene la salida resultante de una tarea de conducto y otras métricas de una tarea de conducto después de que complete su ejecución.
Sintaxis
tasks.<node id>.<output name>
Ejemplos
Ejemplo | Resultado |
---|---|
tasks.run_datastage_job |
Obtiene el diccionario de resultados de la salida del trabajo |
tasks.run_datastage_job.results.score |
Obtiene el valor score de la salida de trabajo |
tasks.run_datastage_job.results.timestamp |
Obtiene la indicación de fecha y hora de finalización del trabajo ejecutado |
tasks.run_datastage_job.results.error |
Obtiene el número de errores de la ejecución del trabajo |
tasks.loop_task.loop.counter |
Obtiene el contador iterativo de bucle actual del trabajo ejecutado |
tasks.loop_task.loop.item |
Obtiene el elemento iterativo de bucle actual del trabajo ejecutado |
tasks.run_datastage_job.results.status |
Obtiene el estado de éxito o error de la ejecución del trabajo |
tasks.run_datastage_job.results.status_message |
Obtiene el mensaje de estado del trabajo ejecutado |
tasks.run_datastage_job.results.job_name |
Obtiene el nombre del trabajo |
tasks.run_datastage_job.results.job |
Obtiene la vía de acceso de Cloud Pak for Data del trabajo |
tasks.run_datastage_job.results.job_run |
Obtiene la vía de acceso de ejecución de Cloud Pak for Data de la ejecución del trabajo |
Obtener objetos de contexto de interconexión
Obtiene valores que se evalúan en el contexto de un conducto que se ejecuta en un ámbito (proyecto, espacio, catálogo).
Ejemplos
Ejemplo | Resultado |
---|---|
ctx.scope.id |
Obtiene ID de ámbito |
ctx.scope.type |
Devuelve "project", "space" o "catalog" |
ctx.scope.name |
Obtiene nombre de ámbito |
ctx.pipeline.id |
Obtiene ID de conducto |
ctx.pipeline.name |
Obtiene el nombre de interconexión |
ctx.job.id |
Obtiene ID de trabajo |
ctx.run_datastage_job.id |
Obtiene el ID de ejecución del trabajo |
ctx.run_datastage_job.started_at |
Obtiene la hora de inicio de ejecución del trabajo |
ctx.user.id |
Obtiene el ID de usuario |
Obtener estado de error
Si se desencadena el manejador de excepciones, se crea un objeto de error y sólo se puede acceder a él dentro del manejador de excepciones.
Ejemplos
Ejemplo | Resultado |
---|---|
error.status |
Obtiene el estado correcto o fallido de la ejecución del trabajo, normalmente fallido |
error.status_message |
Obtiene el mensaje de estado de error |
error.job |
Obtiene la vía de acceso de Cloud Pak for Data del trabajo |
error.run_datastage_job |
Obtiene la vía de acceso de ejecución de Cloud Pak for Data del trabajo (no disponible en watsonx) |
Tema padre: Adición de condiciones a un conducto