Verwenden Sie diese Funktionen in Pipelines-Codeeditoren, um beispielsweise eine Benutzervariable zu definieren oder eine erweiterte Bedingung zu erstellen.
Informationen zu den Pipelinefunktionen, die von DataStageübertragen wurden, finden Sie unter DataStage -Funktionen, die in Pipelines Expression Builder verwendet werden.
Der Experssion Builder verwendet die Kategorien zum Codieren von Funktionen:
Konvertierungsfunktion
Konvertiert ein einzelnes Datenelementformat in ein anderes Format.
Tabelle für die Konvertierung von Basisdatentypen
Typ | Akzeptiert | Rückgabe | Syntax |
---|---|---|---|
double |
int, uint, string |
double |
double(val) |
duration |
string |
duration |
duration(string) Die Dauer muss mit "s" enden, was für Sekunden steht. |
int |
int, uint, double, string, timestamp |
int |
int(val) |
timestamp |
string |
timestamp |
timestamp(string) Konvertiert Zeichenfolgen in Zeitmarken gemäß RFC3339, also "1972-01-01T10:00:20.021-05:00". |
uint |
int, double, string |
uint |
uint(val) |
Beispiel
Geben Sie beispielsweise Folgendes ein, um einen Wert in double
umzusetzen:
double(%val%)
Wenn Sie "double" in int | uint
umsetzen, wird das Ergebnis auf null gerundet und es werden Fehler angezeigt, wenn das Ergebnis außerhalb des gültigen Bereichs liegt.
Standardfunktionen
Funktionen, die für IBM Orchestration Pipelines eindeutig sind.
sub
Ersetzt Unterzeichenfolgen einer Zeichenfolge, die mit dem angegebenen regulären Ausdruck übereinstimmt, der an der relativen Position beginnt.
Syntax
(string).sub(substring (string), replacement (string), [occurrence (int), [offset (int)]])
gibt die Zeichenfolge mit den aktualisierten Teilzeichenfolgen zurück.
Beispiele
'aaabbbcccbbb'.sub('[b]+','RE')
Gibt 'aaaREcccRE' zurück.
Format
Formatiert eine Zeichenfolge oder Zeitmarke entsprechend einer Formatkennung und gibt die resultierende Zeichenfolge zurück.
Syntax
format als eine Methode von Zeichenfolgen
(string).format(parameter 1 (string or bool or number)... parameter 10 (string or bool or number))
returns: Die Zeichenfolge, die die formatierten Eingabewerte enthält.
format als eine Methode für Zeitmarken
(timestamp).format(layout(string))
gibt die formatierte Zeitmarke im Zeichenfolgeformat zurück.
Beispiele
'number=%d, text=%s'.format(1, 'str')
Gibt die Zeichenfolge 'number=1, text=str' zurück.
timestamp('2020-07-24T09:07:29.000-00:00').format('%Y/%m/%d')
Gibt die Zeichenfolge '2020/07/24' zurück.
now
Gibt die aktuelle Zeitmarke zurück.
Syntax
now()
gibt die aktuelle Zeitmarke zurück.
parseTimestamp
Gibt die aktuelle Zeitmarke im Zeichenfolgeformat zurück.
Syntax
parseTimestamp([timestamp_string(string)] [layout(string)])
returns: Die aktuelle Zeitmarke für eine Zeichenfolge des Typs 'string'.
Beispiele
parseTimestamp('2020-07-24T09:07:29Z')
Gibt '2020-07-24T09:07:29.000-00:00' zurück.
min
Gibt den Mindestwert in der Liste zurück.
Syntax
(list).min()
gibt den Mindestwert in der Liste zurück.
Beispiele
[1,2,3].min()
Gibt die ganze Zahl 1 zurück.
max
Gibt den maximalen Wert in der Liste zurück.
Syntax
(list).max()
gibt den maximalen Wert in der Liste zurück.
Beispiele
[1,2,3].max()
Gibt die ganze Zahl 3 zurück.
argmin
Gibt den Index des Mindestwerts in der Liste zurück.
Syntax
(list).argmin()
gibt den Index des Mindestwerts der Liste zurück.
Beispiele
[1,2,3].argmin()
Gibt die ganze Zahl 0 zurück.
argmax
Gibt den Index des maximalen Werts in der Liste zurück.
Syntax
(list).argmax()
gibt den Index des maximalen Werts der Liste zurück.
Beispiele
[1,2,3].argmax()
Gibt die ganze Zahl 2 zurück.
Summe
Gibt die Summe der Werte in der Liste zurück
Syntax
(list).sum()
gibt den Index des maximalen Werts der Liste zurück.
Beispiele
[1,2,3].argmax()
Gibt die ganze Zahl 2 zurück.
base64.decode
Decodiert die Base64-codierte Zeichenfolge in Byte. Diese Funktion gibt einen Fehler zurück, wenn die Zeichenfolgeeingabe nicht base64-encodedist.
Syntax
base64.decode(base64_encoded_string(string))
gibt die decodierte, Base64-codierte Zeichenfolge im Byteformat zurück.
Beispiele
base64.decode('aGVsbG8=')
Gibt 'hello' in Byte zurück.
base64.encode
Codiert Byte in eine Base64-codierte Zeichenfolge.
Syntax
base64.encode(bytes_to_encode (bytes))
gibt die codierte Base64-codierte Zeichenfolge des ursprünglichen Bytewerts zurück.
Beispiele
base64.decode(b'hello')
Gibt 'aGVsbG8=' in Byte zurück.
charAt
Gibt das Zeichen an der angegebenen Position zurück. Wenn die Position negativ oder größer als die Länge der Zeichenfolge ist, erzeugt die Funktion einen Fehler.
Syntax
(string).charAt(index (int))
gibt das Zeichen der angegebenen Position im Ganzzahlformat zurück.
Beispiele
'hello'.charAt(4)
Gibt das Zeichen 'o' zurück.
indexOf
Gibt den ganzzahligen Index des ersten Vorkommens des Suchbegriffs zurück. Wenn der Suchbegriff nicht gefunden wird, gibt die Funktion -1 zurück.
Syntax
(string).indexOf(search_string (string), [offset (int)])
gibt den Index des ersten Vorkommens des Zeichens nach dem Offset zurück.
Beispiele
'hello mellow'.indexOf('ello', 2)
Gibt die ganze Zahl 7 zurück.
lowerAscii
Gibt eine neue Zeichenfolge mit ASCII-Zeichen in Kleinbuchstaben zurück.
Syntax
(string).lowerAscii()
returns: Die neue Zeichenfolge in Kleinschreibung.
Beispiele
'TacoCat'.lowerAscii()
Gibt die Zeichenfolge 'tacocat' zurück.
ersetzen
Gibt eine neue Zeichenfolge auf Basis des Ziels zurück, die die Vorkommen eines Suchbegriffs durch eine Ersetzungszeichenfolge ersetzt (falls vorhanden). Die Funktion akzeptiert einen optionalen Grenzwert für die Anzahl der zu ersetzenden Unterzeichenfolgen.
Syntax
(string).replace(search_string (string), replacement (string), [offset (int)])
gibt die neuen Zeichenfolge, bei der Vorkommen eines Suchbegriffs ersetzt werden.
Beispiele
'hello hello'.replace('he', 'we')
Gibt die Zeichenfolge 'wello wello' zurück.
split
Gibt eine Liste von Zeichenfolgen zurück, die von der Eingabe durch das Trennzeichen getrennt werden. Die Funktion akzeptiert ein optionales Argument, das einen Grenzwert für die Anzahl der Unterzeichenfolgen angibt, die durch die Aufteilung erzeugt werden.
Syntax
(string).split(separator (string), [limit (int)])
gibt die geteilte Zeichenfolge als Zeichenfolgeliste an.
Beispiele
'hello hello hello'.split(' ')
Gibt die Zeichenfolgenliste ['hello ',' hello ',' hello '] zurück.
substring
Gibt die Unterzeichenfolge zurück, wenn ein numerischer Bereich den Zeichenpositionen entspricht. Optional können Sie den abschließenden Bereich für eine Unterzeichenfolge von einer Zeichenposition bis zum Ende einer Zeichenfolge weglassen.
Syntax
(string).substring(start (int), [end (int)])
gibt die Unterzeichenfolge im angegebenen Index der Zeichenfolge zurück.
Beispiele
'tacocat'.substring(4)
Gibt die Zeichenfolge 'cat' zurück.
löschen
Gibt eine neue Zeichenfolge zurück, die das führende und abschließende Leerzeichen in der Zielzeichenfolge entfernt. Die Trimmfunktion verwendet die Unicode-Definition von Leerzeichen, die keine Leerzeichen mit der Breite null enthält.
Syntax
(string).trim()
returns: Die neue Zeichenfolge ohne Leerzeichen.
Beispiele
' \ttrim\n '.trim()
Gibt die Zeichenfolge 'trim' zurück.
upperAscii
Gibt eine neue Zeichenfolge zurück, in der alle ASCII-Zeichen in Großbuchstaben angegeben sind.
Syntax
(string).upperAscii()
gibt die neue Zeichenfolge zurück, bei der alle Zeichen in Großbuchstaben umgesetzt wurden.
Beispiele
'TacoCat'.upperAscii()
Gibt die Zeichenfolge 'tacocat' zurück.
Größe
Gibt die Länge der Zeichenfolge, Bytes, Liste oder Map zurück.
Syntax
(string | bytes | list | map).size()
gibt die Länge der Zeichenfolge, der Byte, der Liste oder des Map-Arrays zurück.
Beispiele
'hello'.size()
Gibt die ganze Zahl 5 zurück.
'hello'.size()
Gibt die ganze Zahl 5 zurück.
['a','b','c'].size()
Gibt die ganze Zahl 3 zurück.
{'key': 'value'}.size()
Gibt die ganze Zahl 1 zurück.
enthält
Testet, ob der Zeichenfolgeoperand die Unterzeichenfolge enthält.
Syntax
(string).contains(substring (string))
gibt einen booleschen Wert zurück, der angibt, ob die Unterzeichenfolge im Zeichenfolgeoperand vorhanden ist.
Beispiele
'hello'.contains('ll')
Gibt 'true' zurück.
endsWith
Testet, ob der Zeichenfolgeoperand mit dem angegebenen Suffix endet.
Syntax
(string).endsWith(suffix (string))
gibt einen booleschen Wert zurück, der angibt, ob die Zeichenfolge mit dem angegebenen Suffix im Zeichenfolgeoperand endet.
Beispiele
'hello'.endsWith('llo')
Gibt 'true' zurück.
startsWith
Prüft, ob der Zeichenfolgeoperand mit dem Präfixargument beginnt.
Syntax
(string).startsWith(prefix (string))
gibt einen booleschen Wert zurück, der angibt, ob die Zeichenfolge mit dem angegebenen Präfix im Zeichenfolgeoperand beginnt.
Beispiele
'hello'.startsWith('he')
Gibt 'true' zurück.
matches
Prüft, ob der Zeichenfolgeoperand mit einem regulären Ausdruck übereinstimmt.
Syntax
(string).matches(prefix (string))
gibt einen boolesche Wert zurück, der angibt, ob die Zeichenfolge mit dem angegebenen regulären Ausdruck übereinstimmt.
Beispiele
'Hello'.matches('[Hh]ello')
Gibt 'true' zurück.
getDate
Ruft den Tag des Monats aus dem Datum mit Zeitzone (Standardwert: koordinierte Weltzeit) ab (einbasierte Indexierung).
Syntax
(timestamp).getDate([time_zone (string)])
returns: Der Tag des Monats mit einbasierter Indexierung.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getDate()
Gibt 24 zurück.
getDayOfMonth
Ruft den Tag des Monats aus dem Datum mit Zeitzone (standardmäßig koordinierte Weltzeit), nullbasierter Indexierung ab.
Syntax
(timestamp).getDayOfMonth([time_zone (string)])
returns: Der Tag des Monats mit nullbasierter Indexierung.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfMonth()
Gibt 23 zurück.
getDayOfWeek
Abrufen des Wochentags aus dem Datum mit Zeitzone (standardmäßig koordinierte Weltzeit), nullbasierte Indexierung, null für Sonntag.
Syntax
(timestamp).getDayOfWeek([time_zone (string)])
returns: Wochentag mit nullbasierter Indexierung.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfWeek()
Gibt 5 zurück.
getDayOfYear
Abrufen des Tages des Jahres aus dem Datum mit Zeitzone (standardmäßig koordinierte Weltzeit), nullbasierte Indexierung.
Syntax
(timestamp).getDayOfYear([time_zone (string)])
returns: Der Tag des Jahres mit nullbasierter Indexierung.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getDayOfYear()
Gibt 205 zurück.
getFullYear
Ruft das Jahr aus dem Datum mit Zeitzone ab (standardmäßig koordinierte Weltzeit).
Syntax
(timestamp).getFullYear([time_zone (string)])
gibt das Jahr aus dem Datum zurück.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getFullYear()
Gibt 2020 zurück.
getMonth
Monat aus dem Datum mit Zeitzone (0-11) abrufen.
Syntax
(timestamp).getMonth([time_zone (string)])
gibt den Monat aus dem Datum zurück.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getMonth()
Gibt 6 zurück.
getHours
Stunden aus dem Datum mit Zeitzone (0-23) abrufen.
Syntax
(timestamp).getHours([time_zone (string)])
gibt die Stunde aus dem Datum zurück.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getHours()
Gibt 9 zurück.
getMinutes
Minuten aus dem Datum mit Zeitzone (0-59) abrufen.
Syntax
(timestamp).getMinutes([time_zone (string)])
gibt die Minuten aus dem Datum zurück.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getMinutes()
Gibt 7 zurück.
getSeconds
Sekunden aus dem Datum mit Zeitzone 0-59 abrufen.
Syntax
(timestamp).getSeconds([time_zone (string)])
gibt die Sekunden aus dem Datum zurück.
Beispiele
timestamp('2020-07-24T09:07:29.000-00:00').getSeconds()
Gibt 29 zurück.
getMilliseconds
Millisekunden aus dem Datum mit Zeitzone abrufen (0-999)
Syntax
(timestamp).getMilliseconds([time_zone (string)])
gibt die Millisekunden aus dem Datum zurück.
Beispiele
timestamp('2020-07-24T09:07:29.021-00:00').getMilliseconds()
Gibt 21 zurück.
Zugriff auf erweiterte globale Objekte
Rufen Sie Knotenausgaben, Benutzervariablen und Pipelineparameter mithilfe des folgenden Pipelines-Codes ab.
Benutzervariable abrufen
Ruft den aktuellen Wert einer Benutzervariablen ab.
Syntax
vars.<var name>
Beispiele
Beispiel | Ausgabe |
---|---|
vars.my_user_var |
Ruft den Wert der Benutzervariablen my_user_var ab. |
Parameter abrufen
Ruft die Ablaufparameter ab.
Syntax
params.<param name>
Beispiele
Beispiel | Ausgabe |
---|---|
params.a |
Ruft den Wert des Parameters a ab. |
Parametersätze abrufen
Ruft die Flow-Parametersätze ab.
Syntax
param_set.<param_set_name>.<param_name>
Beispiele
Beispiel | Ausgabe |
---|---|
param_set.ps.a |
Ruft den Wert des Parameters a aus einem Parametersatz ab ps |
param_sets.config |
Ruft die Pipelinekonfigurationswerte ab |
param_sets.config.deadline |
Ruft ein Datumsobjekt aus dem Konfigurationsparametersatz ab |
param_sets.ps["$PARAM"] |
Ruft den Wert des Parameters $PARAM aus einem Parametersatz ab ps |
Taskergebnisse abrufen
Ruft die resultierende Ausgabe einer Pipeline-Task und andere Metriken aus einer Pipeline-Task ab, sobald die Ausführung abgeschlossen ist.
Syntax
tasks.<node id>.<output name>
Beispiele
Beispiel | Ausgabe |
---|---|
tasks.run_datastage_job |
Ruft das Ergebniswörterverzeichnis der Jobausgabe ab |
tasks.run_datastage_job.results.score |
Ruft den Wert score der Jobausgabe ab |
tasks.run_datastage_job.results.timestamp |
Ruft die Endzeitmarke der Jobausführung ab |
tasks.run_datastage_job.results.error |
Ruft die Anzahl der Fehler aus der Jobausführung ab. |
tasks.loop_task.loop.counter |
Ruft den aktuellen Schleifeniterationszähler der Jobausführung ab. |
tasks.loop_task.loop.item |
Ruft das iterative Schleifenelement der Jobausführung ab. |
tasks.run_datastage_job.results.status |
Ruft den Status 'Erfolgreich' oder 'Fehlgeschlagen' der Jobausführung ab. |
tasks.run_datastage_job.results.status_message |
Ruft die Statusnachricht der Jobausführung ab |
tasks.run_datastage_job.results.job_name |
Ruft den Jobnamen ab |
tasks.run_datastage_job.results.job |
Ruft den Pfad des Jobs Cloud Pak for Data ab |
tasks.run_datastage_job.results.job_run |
Ruft den Ausführungspfad Cloud Pak for Data der Jobausführung ab. |
Pipeline-Kontextobjekte abrufen
Ruft Werte ab, die im Kontext einer Pipeline ausgewertet werden, die in einem Bereich (Projekt, Bereich, Katalog) ausgeführt wird.
Beispiele
Beispiel | Ausgabe |
---|---|
ctx.scope.id |
Ruft die Bereichs-ID ab |
ctx.scope.type |
Gibt 'project', 'space' oder 'catalog' zurück. |
ctx.scope.name |
Ruft den Bereichsnamen ab |
ctx.pipeline.id |
Ruft die Pipeline-ID ab |
ctx.pipeline.name |
Ruft den Namen der Pipeline ab |
ctx.job.id |
Ruft die Job-ID ab |
ctx.run_datastage_job.id |
Ruft die Jobausführungs-ID ab. |
ctx.run_datastage_job.started_at |
Ruft die Startzeit der Jobausführung ab |
ctx.user.id |
Ruft die Benutzer-ID ab |
Fehlerstatus abrufen
Wenn die Ausnahmebehandlungsroutine ausgelöst wird, wird ein Fehlerobjekt erstellt, das nur innerhalb der Ausnahmebehandlungsroutine zugänglich ist.
Beispiele
Beispiel | Ausgabe |
---|---|
error.status |
Ruft den Status 'Erfolgreich' oder 'Fehlgeschlagen' der Jobausführung ab (normalerweise 'Fehlgeschlagen'). |
error.status_message |
Ruft die Fehlerstatusnachricht ab |
error.job |
Ruft den Pfad des Jobs Cloud Pak for Data ab |
error.run_datastage_job |
Ruft den Ausführungspfad des Jobs Cloud Pak for Data ab (nicht verfügbar in watsonx) |
Übergeordnetes Thema: Bedingungen zu Pipelines hinzufügen