Skripte / Legacy-Datenimport
„Scripts“ ist die umfassende Lösung von SKOOR zum Erstellen, Bearbeiten und Ausführen von Skripten mit zahlreichen Anpassungsmöglichkeiten.
Seite „Skripte“
Die Seite ist in drei Hauptbereiche unterteilt:
Einstellungen
Dieser Abschnitt enthält die allgemeinen Einstellungen eines Skripts, wie zum Beispiel:
Einstellung | Beschreibung |
|---|---|
Name | Legen Sie den Namen des SKOOR-Skripts fest. |
Beschreibung | Legen Sie die Beschreibung des SKOOR-Skripts fest. |
Zeitlimit | Legt das Standard-Timeout für die Skriptausführung in Sekunden fest. |
Zulässige Dateien | Gibt an, welche MIME-Typen für hochgeladene Quelldateien zulässig sind. |
Standard-Ausführungskonfiguration | Wählt die Standard-Ausführungskonfiguration aus, mit der das Skript ausgeführt wird. |
Token kopieren und zurücksetzen | Ermöglicht Administratoren das Kopieren und Zurücksetzen des Webhook-Tokens. Nur für ADMINS verfügbar. |
Zeitplan-Konfigurationen | Ermöglicht mehrere Zeitpläne mit dedizierten Ausführungskonfigurationen. Wählen Sie zunächst einen Zeitraum aus (Jahr, Monat, Woche, Tag, Stunde oder Minute) – je nach Ihrer Auswahl werden nur die relevanten Felder angezeigt (Monate, Tage im Monat, Wochentage, Stunden, Minuten). Eine Mehrfachauswahl ist möglich. Um den Prozess in regelmäßigen Abständen auszuführen, legen Sie den Zeitraum fest und doppelklicken Sie auf die gewünschte Zahl. Beispiel: Jeden Tag um 02:30 Uhr → Zeitraum „Tag“, Stunde 2, Minute 30. Beispiel: Alle 10 Minuten → Zeitraum „Stunde“, Minute <Doppelklick auf 10> |
Ausführungskonfigurationen | Ermöglicht die Anpassung von Timeout- und Umgebungsvariablen. |
Dateien
Dieser Abschnitt bietet eine umfassende Dateiverwaltungslösung für das Skript, einschließlich eines hochmodernen Editors für textbasierte Daten.
Ein Download-Link wird angezeigt, wenn es sich um binäre Daten handelt (die nicht in Textform bearbeitet werden können).
Ausführen
Dieser Abschnitt ist für die Ausführung und Überwachung der Durchläufe eines Skripts zuständig. Er bietet bei Bedarf einen kleinen Drag-and-Drop-Bereich zum Hochladen von Quelldateien.
Erstellen eines Skripts
Skripte können entweder manuell erstellt oder wie unten gezeigt über ZIP-Dateien hochgeladen werden:
Skript über ZIP-Datei importieren
Beim Importieren der ZIP-Datei des Skripts wird eine Analyse durchgeführt, woraufhin vor dem eigentlichen Import verschiedene Markierungen angezeigt werden.
Diese Markierungen sind:
Grundpfeiler eines Skripts
Ausführungsskript
Die Hauptdatei enthält die Logik des Skripts. Diese bestimmt den Runner-Typ für das Skript:
Der Python-Runner erwartet eine „
main.py“-Datei.Der Talend-Runner erwartet eine „
<scriptName>_run.sh“-Datei.Der Shell-Runner erwartet eine „
run.sh“-Datei.
Platzieren Sie Ihr Hauptskript eine Ebene unterhalb des Stammverzeichnisses (oder höher), da der Breitensuche-Scan immer das flachste Skript verwendet, das er findet.
Die folgende Meldung wird angezeigt, wenn versucht wird, ein Skript ohne Haupt-Runner-Skript auszuführen.
.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 `.env`-Datei würde die gezeigten Umgebungsvariablen liefern, sodass diese in benutzerdefinierten Ausführungskonfigurationen angepasst werden können.
Voreingestellte 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 abgerufen werden können, zusammen mit der Ausgabe im Skript:
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)
Beispiel mit .env
Das folgende Skript liest die Variable „foo“ aus der Datei „.env“ ein und gibt sie auf der Konsole aus. Nachfolgend finden Sie die Screenshots der Datei „.env“ sowie der entsprechenden Ausführungskonfigurationen.
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
Die folgenden Dateitypen werden standardmäßig unterstützt, sofern dies nicht in der Skriptkonfiguration eingeschränkt ist:
(Strukturierter) Text
text/plaintext/csvtext/tab-separated-valuestext/tsvtext/markdowntext/vttapplication/jsonapplication/x-ndjsonapplication/jsonlapplication/xmltext/xmlapplication/yamltext/yamlapplication/x-yamlapplication/sqltext/sql
Dokumente
application/pdfapplication/mswordapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentapplication/vnd.ms-excelapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.ms-powerpointapplication/vnd.openxmlformats-officedocument.presentationml.presentationapplication/vnd.oasis.opendocument.textapplication/vnd.oasis.opendocument.spreadsheetapplication/vnd.oasis.opendocument.presentationapplication/rtfapplication/epub+zip
Archive
application/parquetapplication/x-parquetapplication/avroapplication/x-avroapplication/vnd.apache.arrow.fileapplication/vnd.apache.arrow.streamapplication/orcapplication/x-orcapplication/zipapplication/x-zip-compressedapplication/gzipapplication/x-gzipapplication/x-bzip2application/x-xzapplication/zstdapplication/x-zstdapplication/x-tarapplication/x-7z-compressed
Ausführen von Unter-Skripten
Falls Unterskripte erforderlich sind, sollten diese in einem Ordner „bin“ abgelegt werden. Da diese dann ausführbar sind.
Achten Sie darauf, die Unterskripte immer in einem Ordner „bin“ abzulegen.
Im Folgenden finden Sie ein Beispiel in Shell:
Die Ausgabe dieses Skripts „run.sh“ lautet:
Die Ausgabe dieses „run.sh“ lautet:
QuickRun
Diese Option bietet eine Schaltfläche „QuickRun“, die das Skript ohne Quelldatei und mit den Standardwerten der Umgebungsvariablen ausführt.
Damit lässt sich ein Skript während der Entwicklung oder Fehlerbehebung schnell ausführen, und die Schaltfläche „Latest Job Overview“ zeigt die Konsolenausgabe an.
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“
Einen Lauf abbrechen
Sowohl laufende als auch wartende Ausführungen können durch Klicken auf das Symbol „Auftrag abbrechen“ im Abschnitt „Verlauf“ abgebrochen werden.
Poetry deaktivieren
Poetry ist ein leistungsstarkes Tool für das Abhängigkeitsmanagement und die Verwaltung virtueller Umgebungen in Python. Dies erfolgt durch die Definition einer `pyproject.toml`-Datei im selben Ordner wie das Runner-Skript (main.py, run.sh … usw.).
Durch das Entfernen oder Umbenennen der Datei „pyproject.toml“ wird die Verwendung von Poetry automatisch deaktiviert und stattdessen „skoor-python“ verwendet.
Auftragsübersicht
Um die vollständigen Details eines Jobs anzuzeigen, klicken Sie wie unten dargestellt auf einen Eintrag in der Liste „Verlauf“:
Ausführungsverlauf
Der Abschnitt „Verlauf“ zeigt eine Liste aller Skriptläufe an. Details zu jedem Lauf werden durch Anklicken des jeweiligen Eintrags angezeigt.
Ein eigener Abschnitt zeigt den detaillierten Verlauf des letzten Skriptlaufs an (Warte- und abgebrochene Läufe werden übersprungen).
Verwendung von Webhook-Tokens zum Ausführen eines Konverters
Diese Option ermöglicht es, das Skript auszuführen, ohne sich anmelden zu müssen, und wird vor allem von technisch versierten Benutzern bevorzugt.
Jedes Skript verfügt über ein eindeutiges 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 Anfrage an POST zu senden:
Verwendung einer API-Software wie POSTMAN
Eine „200“-Antwort mit der anfänglichen Job-Entität zeigt an, dass der Lauf ausgelöst wurde, wie im folgenden Screenshot dargestellt:
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
Dieser Lauf kann im SKOOR Dashboard verfolgt werden, und im Verlauf wird der Lauf als von „Token-User“ erstellt angezeigt.
Löschen
Klicken Sie auf das Papierkorbsymbol, um das Skript zu löschen. Das Symbol wird angezeigt, wenn Sie mit dem Mauszeiger über den Namen des Skripts fahren.
Skript als ZIP-Datei 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 „script_metadata.json“-Datei, die die Beschreibung, das Standard-Timeout, die Laufkonfiguration und die Zeitplan-Konfiguration des Skripts enthält.
In Safari: Deaktivieren Sie unter „Einstellungen“ → „Allgemein“ → „‚Sichere‘ Dateien nach dem Herunterladen öffnen“, um zu verhindern, dass ZIP-Dateien automatisch entpackt werden.

































