Anleitung zur Migration auf Skripte in Skoor-8.1
Dieser Leitfaden hilft bei der Übertragung bestehender Konverter auf die neuen Skripte, die mit SKOOR-8.1 eingeführt wurden
Arten von Skripten
Die folgenden Arten von Skripten werden unterstützt (Python, Talend, Custom/Shell).
Allgemeine Informationen
Diese Änderungen/Hinweise gelten für alle Skript-Typen.
Umgebungsvariablen können in einer
.env
Datei in root gespeichert werden.Das Hochladen einer Quelldatei ist nicht mehr notwendig, um einen Job zu starten.
Wenn eine Datei an das Skript übergeben wird, wird sie als Umgebungsvariable
SKOOR_SOURCE_FILE
übergeben.
Talend Skripte erwarten nach wie vor die sourceFile als Attribut, sie haben sich also nicht geändert.
# Replace source_file = getArg("sourceFile") with the following #IN PYTHON source_file = os.environ.get('SKOOR_SOURCE_FILE') #IN SHELL source_file="$SKOOR_SOURCE_FILE"
Python-Skripte
Für Python Skripte ist es nicht mehr notwendig, das Python
main.py
mit einem Shell Skript<converters_name>_run.sh
zu umhüllen.Der Einstiegspunkt sollte
main.py
sein, vorzugsweise in root.Erforderliche Abhängigkeiten sollten in einem
pyproject.toml
Poesie wird für die Verwaltung von Abhängigkeiten verwendet.
Um neue Abhängigkeiten zum Projekt hinzuzufügen, fügen Sie das benötigte Paket unter Verwendung der von Poetry unterstützten Abhängigkeits-Spezifikation ein.
Der Name eines importierten Pakets in einem Python-Skript stimmt nicht immer mit dem für den Download erforderlichen Paketnamen überein. Zum Beispiel funktioniert das Hinzufügen von pyscopg2 zu pyproject.toml
nicht, da der korrektec Paketname psycopg2-binary
lautet. Verwenden Sie PyPI, um die richtigen Paketnamen zu finden.
Das folgende Beispiel könnte für die Erstellung eines ersten pyproject.toml
[tool.poetry] name = "PROJECT_NAME" version = "0.1.0" description = "" authors = ["SKOOR GmbH <info@skoor.com>"] package-mode = false [tool.poetry.dependencies] python = "^3.9" et-xmlfile= "^2.0.0" greenlet= "^3.1.1" numpy= "^2.0.2" openpyxl= "^3.1.5" pandas= "^2.2.3" psycopg2-binary= "^2.9.10" python-dateutil= "^2.9.0.post0" python-dotenv= "^1.0.1" pytz= "^2024.2" six= "^1.16.0" sqlalchemy= "^2.0.36" typing-extensions= "^4.12.2" tzdata= "^2024.2" requests= "^2.32.3" cachetools= "^5.5.0" jsonschema= "^4.23.0" multicorn= "^0.1.0" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"
Talend Konverter
Es sind keine Migrationsänderungen an den Talend-Konvertern erforderlich.