Skripte / Legacy-Datenimport

Scripts ist die umfassende Lösung von SKOOR zum Erstellen, Bearbeiten und Ausführen von Skripten mit zahlreichen Optionen zur individuellen Anpassung.

Skriptseite

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 ADMINISTRATOREN verfügbar)

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

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

image-20250423-062736.png

Dateien

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

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

image-20250214-093009.png

Ausführung

Dieser Abschnitt ist für die Ausführung und Überwachung der Ausführungen eines Skripts zuständig. Er bietet einen kleinen Drop-Bereich zum Hochladen von Quelldateien, falls erforderlich.

image-20250214-093849.png

Erstellen eines Skripts

Skripte können entweder manuell erstellt oder wie unten gezeigt über Zip-Dateien hochgeladen werden:

image-20250423-061036.png
image-20250423-061102.png

Importieren eines Skripts mithilfe einer ZIP-Datei

Beim Importieren der ZIP-Datei des Skripts wird eine Analyse durchgeführt, woraufhin vor dem eigentlichen Import verschiedene Markierungen angezeigt werden.
Diese Markierungen sind:

image-20250715-111604.png

Überschreiben bestätigen

Dies zeigt an, dass ein Skript mit demselben Namen bereits vorhanden ist. Wenn
Sie dieses Flag aktivieren, wird das Skript überschrieben.

Metadaten des Skripts einbeziehen

Zeigt an, dass die Zip-Datei Metadaten enthält:

Diese Datei enthält die Standard-Zeitüberschreitung, die Beschreibung und die Ausführungs-/Zeitplan-Konfiguration des Skripts.

Grundpfeiler eines Skripts

Ausführungsskript

Die Hauptdatei enthält die Logik des Skripts. Diese bestimmt den Typ des Runners für das Skript:

  • Python Runner erwartet eine Datei „main.py“.

  • Der Talend-Runner erwartet eine Datei „<scriptName>_run.sh“.

  • Shell Runner erwartet eine Datei „run.sh“.

Platzieren Sie Ihr Hauptskript eine Ebene unterhalb des Stammverzeichnisses (oder höher), da der Breitensuchalgorithmus immer das oberflächlichste Skript verwendet, das er findet.

Die folgende Meldung wird angezeigt, wenn Sie versuchen, ein Skript ohne Haupt-Runner-Skript auszuführen.

image-20250423-061703.png

.env

Es handelt sich um eine einfache Textdatei, die Umgebungsvariablen enthält. Auf diese Weise können Variablen, die in einem Skript verwendet werden, je nach Anwendungsfall angepasst werden.

Die Datei „.env“ sollte sich im selben Ordner wie das Runner-Skript befinden (main.py, run.sh usw.).

Die folgende Datei „.env“ würde die angezeigten Umgebungsvariablen liefern, sodass diese in benutzerdefinierten Ausführungskonfigurationen angepasst werden können.

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

Vorab bereitgestellte Umgebungsvariablen

Einige Details zur Ausführung des Skripts werden als Umgebungsvariablen an die Skriptumgebung übergeben. Diese sind:

  • Benutzer-ID als SKOOR_USER_ID

  • Benutzername als SKOOR_USER_USERNAME

  • Vollständiger Name 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')
userGroup_id = os.environ.get('SKOOR_USER_USERGROUP_IDS')
userGroup_names = os.environ.get('SKOOR_USER_USERGROUP_NAMES')


print("sourceFile: ", source_file)
print("User ID: ", user_id)
print("Username: ", username)
print("Fullname: ", userFullname)
print("UserGroup ID: ", userGroup_id)
print("UserGroup name: ", userGroup_names)
image-20251201-084654.png

Beispiel mit .env

Das folgende Skript liest die Variable foo in .env und gibt sie auf der Konsole aus. Nachfolgend finden Sie Screenshots von .env und den entsprechenden Ausführungskonfigurationen.

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 mithilfe der Umgebungsvariablen „SKOOR_SOURCE_FILE“ referenziert werden, wie im folgenden Codeausschnitt zu sehen ist:

# IN PYTHON
import os

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

echo $SKOOR_SOURCE_FILE

Ausführen von Unterskripten

Wenn Subskripte erforderlich sind, sollten sie in einem Ordner „bin“ abgelegt werden. Da diese ausführbar sind.

Achten Sie darauf, die Unterskripte immer in einem Ordner „bin” abzulegen.

Das folgende Beispiel zeigt dies in Shell:

image-20250423-063721.png

Die Ausgabe dieses Unter-Skripts lautet:

image-20250423-063801.png

image-20250423-063907.png

Die Ausgabe dieses Unter-Skripts lautet:

image-20250423-063955.png

QuickRun

Diese Option bietet eine Schaltfläche „QuickRun“, mit der das Skript ohne Quelldatei und mit den Standardwerten der Umgebungsvariablen ausgeführt wird.
Damit kann ein Skript während der Entwicklung oder Fehlerbehebung schnell ausgeführt werden, und die Schaltfläche „Latest Job Overview“ zeigt die Konsolenausgabe an.

image-20250214-095256.png

Ausführen

Ausführung starten

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

Ausführung abbrechen

Sowohl laufende als auch wartende Ausführungen können durch Klicken auf das Symbol „Job abbrechen“ im Abschnitt „Verlauf“ abgebrochen werden.

image-20250214-095439.png

Poetry-Deaktivierung

Poetry ist ein leistungsstarkes Tool für das Abhängigkeitsmanagement und die Verwaltung virtueller Umgebungen in Python. Dazu muss lediglich eine Datei „pyproject.toml“ im selben Ordner wie das Runner-Skript (main.py, run.sh usw.) definiert werden.

Durch Entfernen/Umbenennen der Datei „pyproject.toml“ wird die Verwendung von Poetry automatisch deaktiviert und stattdessen „skoor-python“ verwendet.

Auftragsübersicht

Um alle Details eines Jobs anzuzeigen, klicken Sie auf einen Eintrag in der Verlaufsliste, wie unten gezeigt:

image-20250214-095601.png

image-20250214-095612.png

Ausführungshistorie

Der Abschnitt „Verlauf“ zeigt eine Liste aller Skriptausführungen. Details zu jeder Ausführung finden Sie, wenn Sie darauf klicken.

image-20250214-095715.png

Ein eigener Abschnitt zeigt den detaillierten Verlauf der letzten Ausführung des Skripts (überspringt wartende/abgebrochene Ausführungen).

image-20250214-095752.png

Verwenden von Webhook-Tokens zum Ausführen eines Konverters

Diese Option ermöglicht es, das Skript ohne Anmeldung auszuführen, und ist die bevorzugte Option für technische Benutzer.
Jedes Skript hat einen eindeutigen Webhook-Token, und die URL wird durch Klicken auf „Copy Webhook Token“ in die Zwischenablage kopiert.

Beispiel für die Verwendung von Webhook-Tokens

Kopieren Sie das Webhook-Token von der Skriptseite, 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 POST-Anfrage zu senden:

Verwendung einer API-Software wie POSTMAN

image-20250213-145831.png

Eine 200-Antwort mit der ursprünglichen Job-Entität zeigt an, dass der Lauf ausgelöst wurde, wie im folgenden Screenshot 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 von Token-User erstellte Lauf wird im Verlauf angezeigt.

image-20250214-095924.png

image-20250214-095945.png

Löschen

Klicken Sie auf das Papierkorb-Symbol, um das Skript zu löschen. Das Symbol wird angezeigt, 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 wird angezeigt, wenn Sie mit dem Mauszeiger über den Namen des Skripts fahren.

In der exportierten ZIP-Datei befindet sich eine Datei namens „script_metadata.json“, die die Beschreibung, die Standard-Zeitüberschreitung, die Ausführungskonfiguration und die Zeitplan-Konfiguration des Skripts enthält.

In Safari: Deaktivieren Sie unter „Einstellungen“ → „Allgemein“ die Option „Sichere Dateien nach dem Herunterladen öffnen“, um zu verhindern, dass ZIP-Dateien automatisch extrahiert werden.

image-20250226-085236.png