Utilizzare queste funzioni in editor di codici Pipelines, ad esempio per definire una variabile utente o costruire una condizione avanzata.
Expert Builder utilizza le categorie per le funzioni di codifica:
Funzioni di conversione
Converte un singolo formato elemento dati in un altro.
Tabella per la conversione tipo dati di base
Tipo | Accetta | Restituisce | Sintassi |
---|---|---|---|
double |
int, uint, string |
double |
double(val) |
duration |
string |
duration |
duration(string) La durata deve terminare con "s", che indica i secondi. |
int |
int, uint, double, string, timestamp |
int |
int(val) |
timestamp |
string |
timestamp |
timestamp(string) Converte le stringhe in date / ore in base a RFC3339, ossia "1972-01-01T10:00:20.021-05:00". |
uint |
int, double, string |
uint |
uint(val) |
Esempio
Ad esempio, per gettare un valore al tipo double
:
double(%val%)
Quando si esegue il cast doppio su int | uint
, il risultato viene arrotondato a zero e gli errori se il risultato non è compreso nell'intervallo.
Funzioni standard
Funzioni univoche per IBM Orchestration Pipelines.
sub
Sostituisce le sottostringhe di una stringa che corrisponde all'espressione regolare fornita che inizia all'offset di posizione.
Sintassi
(string).sub(substring (string), replacement (string), [occurrence (int), [offset (int)]])
restituisce: la stringa con le sottostringhe aggiornate.
Esempi
'aaabbbcccbbb'.sub('[b]+','RE')
Restituisce 'aaaREcccRE'.
formato
Formatta una stringa o una registrazione data / ora secondo un identificativo di formato e restituisce la stringa risultante.
Sintassi
formato come metodo di stringhe
(string).format(parameter 1 (string or bool or number)... parameter 10 (string or bool or number))
restituisce: la stringa che contiene i valori di immissione formattati.
formato come metodo di timestamp
(timestamp).format(layout(string))
restituisce: la data/ora formattata in formato stringa.
Esempi
'number=%d, text=%s'.format(1, 'str')
Restituisce la stringa 'number=1, text=str'.
timestamp('2020-07-24T09:07:29.000-00:00').format('%Y/%m/%d')
Restituisce la stringa '2020/07/24'.
ora
Restituisce la data / ora corrente.
Sintassi
now()
restituisce: la data / ora corrente.
parseTimestamp
Restituisce la data / ora corrente in formato stringa.
Sintassi
parseTimestamp([timestamp_string(string)] [layout(string)])
restituisce: la data/ora corrente in una stringa di tipo stringa.
Esempi
parseTimestamp('2020-07-24T09:07:29Z')
Restituisce '2020-07-24T09:07:29.000-00:00'.
min
Restituisce valore minimo in elenco.
Sintassi
(list).min()
restituisce: il valore minimo dell'elenco.
Esempi
[1,2,3].min()
Restituisce il numero intero 1.
massimo
Restituisce il valore massimo in elenco.
Sintassi
(list).max()
restituisce: il valore massimo della lista.
Esempi
[1,2,3].max()
Restituisce il numero intero 3.
argmin
Restituisce indice di valore minimo in elenco.
Sintassi
(list).argmin()
restituisce: l'indice del valore minimo della lista.
Esempi
[1,2,3].argmin()
Restituisce il numero intero 0.
argmax
Restituisce indice di massimo valore in elenco.
Sintassi
(list).argmax()
restituisce: l'indice del valore massimo della lista.
Esempi
[1,2,3].argmax()
Restituisce il numero intero 2.
somma
Restituisce la somma dei valori nell'elenco.
Sintassi
(list).sum()
restituisce: l'indice del valore massimo della lista.
Esempi
[1,2,3].argmax()
Restituisce il numero intero 2.
base64.decode
Decodifica base64-encoded stringa in byte. Questa funzione restituisce un errore se l'input della stringa non è base64-encoded.
Sintassi
base64.decode(base64_encoded_string(string))
restituisce: la stringa base64-encoded decodificata in formato byte.
Esempi
base64.decode('aGVsbG8=')
Torna 'hello' in byte.
base64.encode
Codifica byte a una stringa base64-encoded .
Sintassi
base64.encode(bytes_to_encode (bytes))
restituisce: la stringa codificata base64-encoded del valore del byte originale.
Esempi
base64.decode(b'hello')
Restituisce 'aGVsbG8=' in byte.
charAt
Restituisce il carattere alla posizione data. Se la posizione è negativa o maggiore della lunghezza della stringa, la funzione produce un errore.
Sintassi
(string).charAt(index (int))
restituisce: il carattere della posizione specificata in formato intero.
Esempi
'hello'.charAt(4)
Restituisce il carattere 'o'.
indexOf
Restituisce l'indice intero della prima ricorrenza della stringa di ricerca. Se la stringa di ricerca non trova la funzione restituisce -1.
Sintassi
(string).indexOf(search_string (string), [offset (int)])
restituisce: l'indice della ricorrenza del primo carattere dopo l'offset.
Esempi
'hello mellow'.indexOf('ello', 2)
Restituisce il numero intero 7.
lowerAscii
Restituisce una nuova stringa con caratteri ASCII trasformati in minuscolo.
Sintassi
(string).lowerAscii()
restituisce: la nuova stringa minuscola.
Esempi
'TacoCat'.lowerAscii()
Restituisce la stringa 'tacocat'.
sostituire
Restituisce una nuova stringa in base all'obiettivo, che sostituisce le ricorrenze di una stringa di ricerca con una stringa di sostituzione se presente. La funzione accetta un limite opzionale sul numero di sostituzioni di sottostringa da effettuare.
Sintassi
(string).replace(search_string (string), replacement (string), [offset (int)])
restituisce: la nuova stringa con ricorrenze di una stringa di ricerca sostituita.
Esempi
'hello hello'.replace('he', 'we')
Restituisce la stringa 'wello wello'.
suddividere
Restituisce un elenco di stringhe suddivise dall'input dal separatore. La funzione accetta un argomento facoltativo che specifica un limite sul numero di sottostringhe prodotte dalla suddivisione.
Sintassi
(string).split(separator (string), [limit (int)])
restituisce: la stringa split come elenco di stringhe.
Esempi
'hello hello hello'.split(' ')
Restituisce la lista delle stringhe [ 'ciao ',' ciao ',' ciao '].
sottostringa
Restituisce la sottostringa data una gamma numerica corrispondente a posizioni di carattere. Facoltativamente, è possibile omettere l'intervallo finale per una sottostringa da una posizione carattere fino alla fine di una stringa.
Sintassi
(string).substring(start (int), [end (int)])
restituisce: la sottostringa all'indice specificato della stringa.
Esempi
'tacocat'.substring(4)
Restituisce la stringa 'cat'.
ritagliare
Restituisce una nuova stringa, che rimuove lo spazio iniziale e finale nella stringa di destinazione. La funzione trim utilizza la definizione Unicode di spazio vuoto, che non include gli spazi a larghezza zero.
Sintassi
(string).trim()
restituisce: la nuova stringa con spazi vuoti rimossi.
Esempi
' \ttrim\n '.trim()
Restituisce la stringa 'trim'.
upperAscii
Restituisce una nuova stringa dove tutti i caratteri ASCII sono in maiuscolo.
Sintassi
(string).upperAscii()
ritorna: la nuova stringa con tutti i caratteri girando a maiuscolo.
Esempi
'TacoCat'.upperAscii()
Restituisce la stringa 'TACOCAT'.
dimensione
Restituisce la lunghezza della stringa, dei byte, dell'elenco o della mappa.
Sintassi
(string | bytes | list | map).size()
restituisce: la lunghezza della stringa, byte, elenco o array di mappe.
Esempi
'hello'.size()
Restituisce il numero intero 5.
'hello'.size()
Restituisce il numero intero 5.
['a','b','c'].size()
Restituisce il numero intero 3.
{'key': 'value'}.size()
Restituisce il numero intero 1.
contiene
Verifica se l'operando di stringa contiene la sottostringa.
Sintassi
(string).contains(substring (string))
restituisce: un valore booleano che indica se la sottostringa esiste nell'operando della stringa.
Esempi
'hello'.contains('ll')
Restituisce true.
endsWith
Verifica se l'operando di stringa termina con il suffisso specificato.
Sintassi
(string).endsWith(suffix (string))
restituisce: un valore booleano che indica se la stringa termina con il suffisso specificato nell'operando stringa.
Esempi
'hello'.endsWith('llo')
Restituisce true.
startsWith
Verifica se l'operando di stringa inizia con l'argomento prefisso.
Sintassi
(string).startsWith(prefix (string))
restituisce: un valore booleano che indica se la stringa inizia con il prefisso specificato nell'operando stringa.
Esempi
'hello'.startsWith('he')
Restituisce true.
corrisponde
Verifica se l'operando di stringa corrisponde a un'espressione regolare.
Sintassi
(string).matches(prefix (string))
restituisce: un valore booleano che indica se la stringa corrisponde all'espressione regolare specificata.
Esempi
'Hello'.matches('[Hh]ello')
Restituisce true.
getDate
Acquisisci il giorno del mese dalla data con fuso orario (valore predefinito Coordinated Universal Time), indicizzazione basata su uno.
Sintassi
(timestamp).getDate([time_zone (string)])
restituisce: il giorno del mese con indicizzazione basata su uno.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getDate()
Restituisce 24.
getDayOfMonth
Acquisisci il giorno del mese dalla data con fuso orario (valore predefinito Coordinated Universal Time), indicizzazione basata su zero.
Sintassi
(timestamp).getDayOfMonth([time_zone (string)])
restituisce: il giorno del mese con indicizzazione basata su zero.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfMonth()
Restituisce 23.
getDayOfWeek
Richiamare il giorno della settimana dalla data con fuso orario (valore predefinito Coordinated Universal Time), indicizzazione basata su zero, zero per domenica.
Sintassi
(timestamp).getDayOfWeek([time_zone (string)])
restituisce: il giorno della settimana con indicizzazione basata su zero.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfWeek()
Restituisce 5.
getDayOfYear
Richiamare il giorno dell'anno dalla data con fuso orario (valore predefinito Coordinated Universal Time), indicizzazione basata su zero.
Sintassi
(timestamp).getDayOfYear([time_zone (string)])
restituisce: il giorno dell'anno con indicizzazione basata su zero.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfYear()
Restituisce 205.
getFullAnno
Richiamare l'anno dalla data con fuso orario (valore predefinito Coordinated Universal Time).
Sintassi
(timestamp).getFullYear([time_zone (string)])
ritorna: l'anno dalla data.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getFullYear()
Restituisce 2020.
getMonth
Ottieni il mese dalla data con fuso orario, 0-11.
Sintassi
(timestamp).getMonth([time_zone (string)])
ritorna: il mese dalla data.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getMonth()
Restituisce 6.
getHours
Richiamare le ore dalla data con fuso orario, 0-23.
Sintassi
(timestamp).getHours([time_zone (string)])
ritorna: l'ora dalla data.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getHours()
Restituisce 9.
getMinutes
Ottieni minuti dalla data con fuso orario, 0-59.
Sintassi
(timestamp).getMinutes([time_zone (string)])
ritorna: il minuto dalla data.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getMinutes()
restituisce 7.
getSeconds
Richiama i secondi dalla data con fuso orario, 0-59.
Sintassi
(timestamp).getSeconds([time_zone (string)])
ritorna: il secondo dalla data.
Esempi
timestamp('2020-07-24T09:07:29.000-00:00').getSeconds()
Restituisce 29.
getMilliseconds
Richiama millisecondi dalla data con fuso orario, 0-999.
Sintassi
(timestamp).getMilliseconds([time_zone (string)])
ritorna: il millisecondo dalla data.
Esempi
timestamp('2020-07-24T09:07:29.021-00:00').getMilliseconds()
Restituisce 21.
Accesso agli oggetti globali avanzati
Ottieni output del nodi, variabili utente e parametri della pipeline utilizzando il seguente codice Pipelines.
Ottieni variabile utente
Ottiene il valore più aggiornato di una variabile utente.
Sintassi
vars.<var name>
Esempi
Esempio | Output |
---|---|
vars.my_user_var |
Richiama il valore della variabile utente my_user_var |
Ottieni i parametri
Ottiene i parametri di flusso.
Sintassi
params.<param name>
Esempi
Esempio | Output |
---|---|
params.a |
Richiama il valore del parametro a |
Ottieni serie di parametri
Ottiene le serie di parametri del flusso.
Sintassi
param_set.<param_set_name>.<param_name>
Esempi
Esempio | Output |
---|---|
param_set.ps.a |
Richiama il valore del parametro a da una serie di parametri ps |
param_sets.config |
Ottiene i valori di configurazione della pipeline |
param_sets.config.deadline |
Richiama un oggetto data dalla serie di parametri di configurazione |
param_sets.ps["$PARAM"] |
Richiama il valore del parametro $PARAM da una serie di parametri ps |
Ottieni risultati attività
Ottieni l'output risultante di un'attività della pipeline e altre metriche da un'attività della pipeline dopo che ne ha completato l'esecuzione.
Sintassi
tasks.<node id>.<output name>
Esempi
Esempio | Output |
---|---|
tasks.run_datastage_job |
Richiama il dizionario dei risultati dell'output di lavoro |
tasks.run_datastage_job.results.score |
Ottiene il valore score dell'output del job |
tasks.run_datastage_job.results.timestamp |
Richiama la data / ora di fine dell'esecuzione del processo |
tasks.run_datastage_job.results.error |
Richiama il numero di errori dall'esecuzione del job |
tasks.loop_task.loop.counter |
Richiama il contatore iterativo del loop corrente dell'esecuzione del lavoro |
tasks.loop_task.loop.item |
Richiama l'elemento iterativo del loop corrente dell'esecuzione del lavoro |
tasks.run_datastage_job.results.status |
Ottiene lo stato riuscito o non riuscito dell'esecuzione del lavoro |
tasks.run_datastage_job.results.status_message |
Richiama il messaggio di stato dell'esecuzione del job |
tasks.run_datastage_job.results.job_name |
Richiama il nome lavoro |
tasks.run_datastage_job.results.job |
Ottiene il percorso Cloud Pak for Data del job |
tasks.run_datastage_job.results.job_run |
Ottiene il percorso di esecuzione Cloud Pak for Data dell'esecuzione del lavoro |
Ottieni oggetti di contesto della pipeline
Richiama i valori valutati nel contesto di una pipeline eseguita in un ambito (progetto, spazio, catalogo).
Esempi
Esempio | Output |
---|---|
ctx.scope.id |
Richiama ID ambito |
ctx.scope.type |
Restituisce "progetto", "spazio" o "catalogo" |
ctx.scope.name |
Richiama il nome dell'ambito |
ctx.pipeline.id |
Richiama ID pipeline |
ctx.pipeline.name |
Richiama il nome della pipeline |
ctx.job.id |
Richiama ID lavoro |
ctx.run_datastage_job.id |
Richiama ID esecuzione lavoro |
ctx.run_datastage_job.started_at |
Richiama l'ora di inizio dell'esecuzione del lavoro |
ctx.user.id |
Acquisisce l'ID utente |
Ottieni stato errore
Se il gestore eccezioni viene attivato, viene creato un oggetto errore e diventa accessibile solo all'interno del gestore eccezioni.
Esempi
Esempio | Output |
---|---|
error.status |
Ottiene lo stato riuscito o non riuscito dell'esecuzione del lavoro, di solito non riuscito |
error.status_message |
Richiama il messaggio di stato di errore |
error.job |
Ottiene il percorso Cloud Pak for Data del job |
error.run_datastage_job |
Ottiene il percorso di esecuzione del lavoro Cloud Pak for Data (non disponibile in watsonx) |
Argomento principale: Aggiunta di condizioni a un Pipeline