Utilisez ces fonctions dans les éditeurs de code de pipelines, par exemple, pour définir une variable utilisateur ou générer une condition avancée.
Le générateur d'Experssion utilise les catégories pour les fonctions de codage:
Fonctions de conversion
Convertit une donnée simple d'un format en un autre.
Tableau des conversions des types de données de base
Type | Accepte | Retours | Syntaxe |
---|---|---|---|
double |
int, uint, string |
double |
double(val) |
duration |
string |
duration |
duration(string) La durée doit se terminer par "s", qui représente les secondes. |
int |
int, uint, double, string, timestamp |
int |
int(val) |
timestamp |
string |
timestamp |
timestamp(string) Convertit les chaînes en horodatages conformément à RFC3339, à savoir "1972-01-01T10:00:20.021-05:00". |
uint |
int, double, string |
uint |
uint(val) |
Exemple
Par exemple, pour le transtypage d'une valeur de type double
:
double(%val%)
Lorsque vous effectuez un transtypage double en int | uint
, le résultat est arrondi à zéro et des erreurs sont générées si le résultat est hors de la plage autorisée.
Fonctions standard
Fonctions propres aux pipelines d'orchestration IBM .
sub
Remplace les sous-chaînes d'une chaîne qui correspond à l'expression régulière donnée qui commence à la position de décalage.
Syntaxe
(string).sub(substring (string), replacement (string), [occurrence (int), [offset (int)]])
retourne : la chaîne avec les sous-chaînes mises à jour.
Exemples
'aaabbbcccbbb'.sub('[b]+','RE')
Renvoie " aaaREcccRE ".
format
Formate une chaîne ou un horodatage selon un spécificateur de format et renvoie la chaîne obtenue.
Syntaxe
Format comme méthode de chaînes
(string).format(parameter 1 (string or bool or number)... parameter 10 (string or bool or number))
renvoie: la chaîne qui contient les valeurs d'entrée formatées.
Format comme méthode d'horodatages
(timestamp).format(layout(string))
Renvoie : l'horodatage formaté au format chaîne.
Exemples
'number=%d, text=%s'.format(1, 'str')
Renvoie la chaîne'number=1, text=str'.
timestamp('2020-07-24T09:07:29.000-00:00').format('%Y/%m/%d')
Renvoie la chaîne " 2020/07/24 ".
maintenant
Renvoie l'horodatage en cours.
Syntaxe
now()
Renvoie : l'horodatage en cours.
parseTimestamp
Renvoie l'horodatage en cours au format chaîne.
Syntaxe
parseTimestamp([timestamp_string(string)] [layout(string)])
renvoie: l'horodatage en cours à une chaîne de type chaîne.
Exemples
parseTimestamp('2020-07-24T09:07:29Z')
Renvoie '2020-07-24T09:07:29.000-00:00'.
min.
Renvoie la valeur minimale dans la liste.
Syntaxe
(list).min()
Renvoie : la valeur minimale de la liste.
Exemples
[1,2,3].min()
Renvoie l'entier 1.
maximal
Renvoie la valeur maximale dans la liste.
Syntaxe
(list).max()
Renvoie : la valeur maximale de la liste.
Exemples
[1,2,3].max()
Renvoie l'entier 3.
argMin
Renvoie l'index de la valeur minimale dans la liste.
Syntaxe
(list).argmin()
Renvoie : l'index de la valeur minimale de la liste.
Exemples
[1,2,3].argmin()
Renvoie l'entier 0.
argMax
Renvoie l'index de la valeur maximale dans la liste.
Syntaxe
(list).argmax()
Renvoie : l'index de la valeur maximale de la liste.
Exemples
[1,2,3].argmax()
Renvoie l'entier 2.
somme
Renvoie la somme des valeurs de la liste.
Syntaxe
(list).sum()
Renvoie : l'index de la valeur maximale de la liste.
Exemples
[1,2,3].argmax()
Renvoie l'entier 2.
base64.decode
Décode la chaîne base64-encoded en octets. Cette fonction renvoie une erreur si l'entrée de chaîne n'est pas base64-encoded.
Syntaxe
base64.decode(base64_encoded_string(string))
Renvoie : la chaîne base64-encoded décodée au format octet.
Exemples
base64.decode('aGVsbG8=')
Renvoie 'hello' en octets.
base64.encode
Encode les octets à une chaîne base64-encoded.
Syntaxe
base64.encode(bytes_to_encode (bytes))
Renvoie : la chaîne base64-encoded codée de la valeur d'origine de l'octet.
Exemples
base64.decode(b'hello')
Renvoie 'aGVsbG8=' en octets.
charAt
Renvoie le caractère à la position donnée. Si la position est négative ou supérieure à la longueur de la chaîne, la fonction génère une erreur.
Syntaxe
(string).charAt(index (int))
Renvoie : le caractère de la position spécifiée au format entier.
Exemples
'hello'.charAt(4)
Renvoie le caractère 'o'.
indexOf
Renvoie l'index entier de la première occurrence de la chaîne de recherche. Si la chaîne de recherche n'est pas trouvée, la fonction retourne -1.
Syntaxe
(string).indexOf(search_string (string), [offset (int)])
Renvoie : l'index de la première occurrence de caractère après le décalage.
Exemples
'hello mellow'.indexOf('ello', 2)
Renvoie l'entier 7.
lowerAscii
Renvoie une nouvelle chaîne dont les caractères ASCII sont convertis en minuscules.
Syntaxe
(string).lowerAscii()
renvoie: la nouvelle chaîne en minuscules.
Exemples
'TacoCat'.lowerAscii()
Renvoie la chaîne 'TACOCAT'.
remplacer
Renvoie une nouvelle chaîne basée sur la cible, qui remplace les occurrences d'une chaîne de recherche par une chaîne de remplacement, le cas échéant. La fonction accepte une limite facultative sur le nombre de remplacements de sous-chaînes à effectuer.
Syntaxe
(string).replace(search_string (string), replacement (string), [offset (int)])
Renvoie : la nouvelle chaîne avec les occurrences d'une chaîne de recherche a été remplacée.
Exemples
'hello hello'.replace('he', 'we')
Renvoie la chaîne 'wello wello'.
fractionner
Renvoie une liste de chaînes qui sont séparées de l'entrée par le séparateur. La fonction accepte un argument facultatif qui spécifie une limite sur le nombre de sous-chaînes produites par la division.
Syntaxe
(string).split(separator (string), [limit (int)])
Renvoie : la chaîne de fractionnement sous forme de liste de chaînes.
Exemples
'hello hello hello'.split(' ')
Renvoie la liste de chaînes [ 'hello','hello','hello'].
sous-chaîne
Renvoie la sous-chaîne en fonction d'une plage numérique correspondant à des positions de caractère. Vous pouvez éventuellement omettre la plage de fin d'une sous-chaîne à partir d'une position de caractère jusqu'à la fin d'une chaîne.
Syntaxe
(string).substring(start (int), [end (int)])
Retourne : la sous-chaîne à l'index spécifié de la chaîne.
Exemples
'tacocat'.substring(4)
Renvoie la chaîne 'cat'.
enlever les espaces de début et de fin
Renvoie une nouvelle chaîne, qui supprime les espaces de début et de fin de la chaîne cible. La fonction de découpage utilise la définition Unicode de l'espace blanc, qui n'inclut pas les espaces de largeur nulle.
Syntaxe
(string).trim()
renvoie: la nouvelle chaîne avec les espaces supprimés.
Exemples
' \ttrim\n '.trim()
Renvoie la chaîne 'trim'.
upperAscii
Retourne une nouvelle chaîne où tous les caractères ASCII sont en majuscules.
Syntaxe
(string).upperAscii()
Retourne : la nouvelle chaîne avec tous les caractères est retournée en majuscules.
Exemples
'TacoCat'.upperAscii()
Renvoie la chaîne 'TACOCAT'.
taille
Renvoie la longueur de la chaîne, des octets, de la liste ou de la mappe.
Syntaxe
(string | bytes | list | map).size()
Retourne : longueur de la chaîne, octets, liste ou tableau de mappes.
Exemples
'hello'.size()
Renvoie l'entier 5.
'hello'.size()
Renvoie l'entier 5.
['a','b','c'].size()
Renvoie l'entier 3.
{'key': 'value'}.size()
Renvoie l'entier 1.
contient
Teste si le facteur chaîne contient la sous-chaîne.
Syntaxe
(string).contains(substring (string))
Renvoie : valeur booléenne de l'existence de la sous-chaîne dans le facteur chaîne.
Exemples
'hello'.contains('ll')
Renvoie true.
endsWith
Teste si le facteur chaîne se termine par le suffixe spécifié.
Syntaxe
(string).endsWith(suffix (string))
Retourne : valeur booléenne de la fin de la chaîne avec le suffixe spécifié dans le facteur de chaîne.
Exemples
'hello'.endsWith('llo')
Renvoie true.
startsWith
Teste si le facteur de chaîne commence par l'argument de préfixe.
Syntaxe
(string).startsWith(prefix (string))
Retourne : valeur booléenne de la chaîne de caractères commençant par le préfixe spécifié dans le facteur de chaîne.
Exemples
'hello'.startsWith('he')
Renvoie true.
correspond
Teste si l'opérande chaîne correspond à l'expression régulière.
Syntaxe
(string).matches(prefix (string))
Retourne : valeur booléenne de si la chaîne correspond à l'expression régulière spécifiée.
Exemples
'Hello'.matches('[Hh]ello')
Renvoie true.
getDate
Obtenez le jour du mois à partir de la date avec le fuseau horaire (temps universel coordonné par défaut), indexation basée sur un seul.
Syntaxe
(timestamp).getDate([time_zone (string)])
renvoie: le jour du mois avec une indexation basée sur un.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getDate()
Renvoie 24.
getDayOfMonth
Obtenez le jour du mois à partir de la date avec le fuseau horaire (temps universel coordonné par défaut), indexation basée sur zéro.
Syntaxe
(timestamp).getDayOfMonth([time_zone (string)])
renvoie: le jour du mois avec indexation basée sur zéro.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfMonth()
Renvoie 23.
getDayOfWeek
Obtenir le jour de la semaine à partir de la date avec le fuseau horaire (temps universel coordonné par défaut), indexation basée sur zéro, zéro pour le dimanche.
Syntaxe
(timestamp).getDayOfWeek([time_zone (string)])
renvoie: le jour de la semaine avec indexation basée sur zéro.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfWeek()
Renvoie 5.
getDayOfYear
Obtenez le jour de l'année à partir de la date avec le fuseau horaire (temps universel coordonné par défaut), indexation basée sur zéro.
Syntaxe
(timestamp).getDayOfYear([time_zone (string)])
renvoie: jour de l'année avec indexation basée sur zéro.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfYear()
Renvoie 205.
GetFullYear
Obtenir l'année à partir de la date avec le fuseau horaire (par défaut, le temps universel coordonné).
Syntaxe
(timestamp).getFullYear([time_zone (string)])
Renvoie : l'année à partir de la date.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getFullYear()
Renvoie 2020.
getMonth
Obtenez le mois à partir de la date avec le fuseau horaire, 0-11.
Syntaxe
(timestamp).getMonth([time_zone (string)])
Renvoie : le mois à partir de la date.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getMonth()
Retourne 6.
getHours
Obtenez des heures à partir de la date avec le fuseau horaire, 0-23.
Syntaxe
(timestamp).getHours([time_zone (string)])
Renvoie : l'heure à partir de la date.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getHours()
Renvoie 9.
getMinutes
Obtenez les minutes à partir de la date avec le fuseau horaire, 0 à 59.
Syntaxe
(timestamp).getMinutes([time_zone (string)])
Retourne : la minute à partir de la date.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getMinutes()
renvoie 7.
getSeconds
Obtenir les secondes à partir de la date avec le fuseau horaire, 0 à 59.
Syntaxe
(timestamp).getSeconds([time_zone (string)])
Renvoie : la seconde à partir de la date.
Exemples
timestamp('2020-07-24T09:07:29.000-00:00').getSeconds()
Renvoie 29.
getMilliseconds
Obtenir les millisecondes à partir de la date avec le fuseau horaire, 0-999.
Syntaxe
(timestamp).getMilliseconds([time_zone (string)])
Renvoie : la milliseconde à partir de la date.
Exemples
timestamp('2020-07-24T09:07:29.021-00:00').getMilliseconds()
Renvoie 21.
Accès aux objets globaux avancés
Obtenez les sorties de noeud, les variables utilisateur et les paramètres de pipeline à l'aide du code de pipeline suivant.
Obtenir la variable utilisateur
Obtient la valeur la plus à jour d'une variable utilisateur.
Syntaxe
vars.<var name>
Exemples
Exemple | Sortie |
---|---|
vars.my_user_var |
Obtient la valeur de la variable utilisateur my_user_var |
Obtenir les paramètres
Extrait les paramètres de flux.
Syntaxe
params.<param name>
Exemples
Exemple | Sortie |
---|---|
params.a |
Extrait la valeur du paramètre a |
Obtenir des ensembles de paramètres
Extrait les ensembles de paramètres de flux.
Syntaxe
param_set.<param_set_name>.<param_name>
Exemples
Exemple | Sortie |
---|---|
param_set.ps.a |
Extrait la valeur du paramètre a d'un ensemble de paramètres ps |
param_sets.config |
Obtient les valeurs de configuration de pipeline |
param_sets.config.deadline |
Obtient un objet de date à partir de l'ensemble de paramètres de configuration |
param_sets.ps["$PARAM"] |
Extrait la valeur du paramètre $PARAM d'un ensemble de paramètres ps |
Obtenir les résultats de la tâche
Obtenir la sortie résultante d'une tâche de pipeline et d'autres métriques d'une tâche de pipeline une fois son exécution terminée.
Syntaxe
tasks.<node id>.<output name>
Exemples
Exemple | Sortie |
---|---|
tasks.run_datastage_job |
Obtient le dictionnaire des résultats de la sortie de travail |
tasks.run_datastage_job.results.score |
Extrait la valeur score de la sortie de travail |
tasks.run_datastage_job.results.timestamp |
Extrait l'horodatage de fin de l'exécution du travail |
tasks.run_datastage_job.results.error |
Extrait le nombre d'erreurs de l'exécution de travail |
tasks.loop_task.loop.counter |
Extrait le compteur itératif de boucle en cours de l'exécution de travail |
tasks.loop_task.loop.item |
Extrait l'élément itératif de boucle en cours de l'exécution de travail |
tasks.run_datastage_job.results.status |
Obtient le statut de réussite ou d'échec de l'exécution de travail |
tasks.run_datastage_job.results.status_message |
Extrait le message d'état de l'exécution du travail |
tasks.run_datastage_job.results.job_name |
Obtient le nom du travail |
tasks.run_datastage_job.results.job |
Obtient le chemin d'accès Cloud Pak for Data du travail |
tasks.run_datastage_job.results.job_run |
Obtient le chemin d'exécution Cloud Pak for Data de l'exécution de travail |
Obtenir des objets de contexte de pipeline
Obtient les valeurs qui sont évaluées dans le contexte d'un pipeline exécuté dans une portée (projet, espace, catalogue).
Exemples
Exemple | Sortie |
---|---|
ctx.scope.id |
Obtient l'ID de portée |
ctx.scope.type |
Renvoie "project", "space" ou "catalog" |
ctx.scope.name |
Obtient le nom de la portée |
ctx.pipeline.id |
Obtient l'ID de pipeline |
ctx.pipeline.name |
Obtient le nom du pipeline |
ctx.job.id |
Obtient l'ID de travail |
ctx.run_datastage_job.id |
Obtient l'ID d'exécution de travail |
ctx.run_datastage_job.started_at |
Obtient l'heure de début d'exécution du travail |
ctx.user.id |
Obtient l'ID utilisateur |
Obtenir le statut d'erreur
Si le gestionnaire d'exceptions est déclenché, un objet d'erreur est créé et devient accessible uniquement dans le gestionnaire d'exceptions.
Exemples
Exemple | Sortie |
---|---|
error.status |
Obtient le statut de réussite ou d'échec de l'exécution de travail, généralement en échec |
error.status_message |
Extrait le message d'état d'erreur |
error.job |
Obtient le chemin d'accès Cloud Pak for Data du travail |
error.run_datastage_job |
Obtient le chemin d'exécution du travail Cloud Pak for Data (non disponible dans watsonx) |
Rubrique parent: Ajout de conditions à un pipeline