Skripte / Legacy-Datenimport

Skripte ist SKOORs umfassende Lösung zum Erstellen, Bearbeiten und Ausführen von Skripten mit einer Vielzahl von Optionen, um sie anzupassen.

Skripte sind in 3 Haupttypen unterteilt: Python, Talend und benutzerdefiniert.

Skripte Seite

Die Seite ist in drei Hauptbereiche unterteilt:

Einstellungen

Dieser Abschnitt enthält die allgemeinen Einstellungen eines Skripts, wie z.B.:

  • Name und Beschreibung.

  • Standard-Timeout (in Sekunden)

  • Webhook-Token kopieren oder zurücksetzen (nur für ADMINS verfügbar)

  • Zeitplan-Konfigurationen: Ermöglicht mehrere Zeitpläne mit eigenen Ausführungskonfigurationen.

  • Ausführungskonfigurationen: Ermöglicht die Anpassung von Timeout und Umgebungsvariablen.

image-20250214-092855.png

Dateien

Dieser Abschnitt bietet eine vollständige Dateiverwaltungslösung für das Skript, einschließlich eines modernen Editors für textbasierte Daten.

Ein Download-Link wird angezeigt, wenn die Daten binär sind (nicht in Textform editierbar).

image-20250214-093009.png

Ausführen

Dieser Bereich ist für die Ausführung und Überwachung der Skript-Läufe zuständig. Er bietet eine kleine Drop-Zone, um bei Bedarf Quelldateien hochzuladen.

image-20250214-093849.png

Erstellen eines Skripts

Skripte können entweder manuell erstellt oder als Zip-Datei hochgeladen werden (siehe unten):

image-20250214-093918.png

image-20250214-093927.png

Eckpfeiler eines Skripts

Skript ausführen

Die Hauptdatei enthält die Logik des Skripts. Sie entscheidet über den Typ des Skripts:

  • Für Python Skript: es ist eine main.py Datei.

  • Für Talend Skript: es ist eine <scriptName>_run.sh Datei.

  • Für ein benutzerdefiniertes Skript: eine run.sh Datei.

Bitte beachten Sie, dass der Typ des Skripts nach der Erstellung nicht mehr geändert werden kann. Dies kann nur durch die Erstellung eines neuen Skripts geschehen.

.env

Es handelt sich um eine einfache Textdatei, die Umgebungsvariablen enthält. Auf diese Weise können Variablen, die in einem Skript verwendet werden, an den jeweiligen Anwendungsfall angepasst werden.
Die folgende .env Datei würde die gezeigten Umgebungsvariablen liefern, so dass diese in benutzerdefinierten Laufkonfigurationen angepasst werden können.

image-20250214-094006.pngimage-20250214-094332.png

Vorgegebene Umgebungsvariablen

Einige Details über die Ausführung des Skripts werden als EnvironmentVariables an die Skript-Umgebung übergeben, und zwar

  • UserId als SKOOR_USER_ID

  • Benutzername als SKOOR_USER_USERNAME

  • Fullname des Benutzers als SKOOR_USER_FULLNAME

Die folgenden Screenshots zeigen, wie diese in einem Python-Beispiel zusammen mit der Ausgabe im Skript abgerufen werden können:

import os

source_file = os.environ.get('SKOOR_SOURCE_FILE')
user_id = os.environ.get('SKOOR_USER_ID')
username = os.environ.get('SKOOR_USER_USERNAME')
userFullname = os.environ.get('SKOOR_USER_FULLNAME')

print("sourceFile: ", source_file)
print("User ID: ", user_id)
print("Username: ", username)
print("Fullname: ", userFullname)
image-20250214-094833.png

Beispiel mit .env

Das folgende Skript liest die Variable foo in .env und gibt sie auf der Konsole aus. Unten sehen Sie die Screenshots von .env und die entsprechenden Laufkonfigurationen.

image-20250214-094929.pngimage-20250214-094943.png

image-20250214-094911.png

image-20250214-095049.pngimage-20250214-095128.png

QuellDateien

Skripte können so gestaltet werden, dass sie externe Dateien (Quelldateien) akzeptieren und diese als Teil der Skriptlogik verarbeiten.

Die Quelldateien können im Skript über die Umgebungsvariable SKOOR_SOURCE_FILE referenziert werden, wie im folgenden Codeschnipsel zu sehen ist:

# IN PYTHON
import os

source_file = os.environ.get('SKOOR_SOURCE_FILE')
print(source_file)
#IN SHELL

echo $SKOOR_SOURCE_FILE

QuickRun

Diese Option bietet eine Schaltfläche QuickRun, die das Skript ohne eine Quelldatei und mit den Standardwerten der Umgebungsvariablen ausführt.
Sie ermöglicht die schnelle Ausführung eines Skripts während der Entwicklung oder Fehlersuche und die Schaltfläche Latest Job Overview zeigt die Konsolenausgabe an.

image-20250214-095256.png

Aufbau des Zip-Skripts

Die hochgeladene Zip-Datei sollte nur einen einzigen Ordner im Stammverzeichnis haben, der den gleichen Namen wie die Zip-Archivdatei trägt.

image-20250106-134808.png

Das Skript zum Ausführen sollte sich vorzugsweise im Stammverzeichnis des Skripts befinden, ebenso wie die .env-Datei.

image-20250106-134954.png

Ausführen von

Starten Sie einen Lauf

Wählen Sie im Abschnitt "Ausführen" die gewünschte Konfiguration aus (und laden Sie bei Bedarf eine Quelldatei hoch) und klicken Sie dann auf "Skript ausführen".

image-20250214-095342.png

Abbrechen eines Laufs

Sowohl laufende als auch wartende Läufe können abgebrochen werden, indem Sie auf das Symbol "Job abbrechen" im Abschnitt "Verlauf" klicken.

image-20250214-095439.png

Auftragsübersicht

Um die vollständigen Details eines Auftrags anzuzeigen, klicken Sie auf einen Eintrag in der Liste "Verlauf", wie unten gezeigt:

image-20250214-095601.png

image-20250214-095612.png

Laufverlauf

Der Abschnitt "Verlauf" zeigt eine Liste aller Skript-Läufe. Details zu jedem Lauf finden Sie, wenn Sie auf ihn klicken.

image-20250214-095715.png

Ein spezieller Abschnitt zeigt den detaillierten Verlauf des letzten Skriptlaufs (überspringt wartende/abgebrochene Läufe)

image-20250214-095752.png

Verwendung von Webhook-Tokens zur Ausführung eines Konverters

Diese Option ermöglicht die Ausführung des Skripts, ohne dass eine Anmeldung erforderlich ist, und ist die bevorzugte Option für technische Benutzer.
Jedes Skript hat sein eigenes Webhook-Token und die URL wird in die Zwischenablage kopiert, indem Sie auf Copy Webhook Token klicken.

Beispiel für die Verwendung von Webhook-Tokens

Kopieren Sie das Webhook-Token von der Skript-Seite, indem Sie auf Copy Webhook Token klicken. In diesem Beispiel sieht die Webhook-URL wie folgt aus:

http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5

Verwenden Sie die URL, um eine Anfrage an POST zu senden:

Mit einer API-Software wie POSTMAN

image-20250213-145831.png

Eine Antwort von 200 mit der anfänglichen Job-Entität zeigt an, dass der Lauf ausgelöst wurde, wie in der folgenden Abbildung dargestellt:

image-20250213-145952.png

Verwendung von cURL im Terminal

curl -X POST http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5

Die Antwort würde wie folgt aussehen


image-20250213-151347.png

Dieser Lauf kann im SKOOR-Dashboard beobachtet werden und der Lauf wird in der Historie als von Token-User erstellt angezeigt.

image-20250214-095924.png

image-20250214-095945.png

Löschen von

Klicken Sie auf das Mülleimersymbol, um das Skript zu löschen. Das Symbol erscheint, wenn Sie mit dem Mauszeiger über den Namen des Skripts fahren.

image-20250226-085215.png

Skript als Zip exportieren

Klicken Sie auf das Archivsymbol, um das Skript zu exportieren. Das Symbol erscheint, wenn Sie mit dem Mauszeiger über den Namen des Skripts fahren.

image-20250226-085236.png