Anleitung zur Migration auf Skripte in Skoor-8.1

Dieser Leitfaden hilft Ihnen dabei, vorhandene Konverter auf die neuen Skripte zu übertragen, die in SKOOR-8.1 eingeführt wurden.

Arten von Skripten

Die folgenden Skripttypen werden unterstützt (Python, Talend, Custom/Shell).

Allgemeine Informationen

Diese Änderungen/Hinweise gelten für alle Skripttypen.

  1. Umgebungsvariablen können in einer Datei „.env” im Stammverzeichnis gespeichert werden.

  2. Das Hochladen einer Quelldatei ist nicht mehr erforderlich, um einen Job zu starten.

  3. Wenn eine Datei an das Skript übergeben wird, wird sie als Umgebungsvariable „SKOOR_SOURCE_FILE“ übergeben.

Talend-Skripte erwarten weiterhin die sourceFile als Attribut, sodass sie nicht geändert wurden.

# 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

  1. Bei Python-Skripten ist es nicht mehr erforderlich, die Python-main.py mit einem Shell-Skript-<converters_name>_run.sh zu umschließen.

  2. Der Einstiegspunkt sollte vorzugsweise in root liegen.

  3. Erforderliche Abhängigkeiten sollten in einer pyproject.toml definiert werden.

Poetry wird für die Abhängigkeitsverwaltung verwendet.

Um dem Projekt neue Abhängigkeiten hinzuzufügen, fügen Sie das erforderliche Paket unter Verwendung der von Poetry unterstützten Abhängigkeitsspezifikation ein.

Der Name eines importierten Pakets in einem Python-Skript stimmt nicht immer mit dem für den Download erforderlichen Paketnamen überein. Das Hinzufügen von pyscopg2 zu pyproject.toml funktioniert beispielsweise nicht, da der korrekte Paketname psycopg2-binary lautet. Verwenden Sie PyPI, um die korrekten Paketnamen zu finden.

Das folgende Beispiel könnte zum Erstellen einer ersten pyproject.toml verwendet werden

[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

Für Talend-Konverter sind keine Migrationsänderungen erforderlich.