Anleitung zur Migration auf Skripte in Skoor-8.1
Diese Anleitung hilft dabei, bestehende Konverter auf die neuen Skripte umzustellen, die in SKOOR-8.1 eingeführt wurden
Skripttypen
Die folgenden Skriptarten werden unterstützt (Python, Talend, Benutzerdefiniert/Shell).
Allgemeine Informationen
Diese Änderungen/Hinweise gelten für alle Skripttypen.
Umgebungsvariablen können in einer
.env-Datei im Stammverzeichnis gespeichert werden.Das Hochladen einer Quelldatei ist zum Starten eines Jobs nicht mehr erforderlich.
Wird dem Skript eine Datei übergeben, erfolgt dies als Umgebungsvariable
SKOOR_SOURCE_FILE.
Talend-Skripte erwarten weiterhin das Attribut „sourceFile“, daher wurden sie 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
Bei Python-Skripten ist es nicht mehr erforderlich, die Python-Datei
main.pymit einem Shell-Skript<converters_name>_run.shzu umschließen.Der Einstiegspunkt sollte
main.pysein, vorzugsweise im Stammverzeichnis.Erforderliche Abhängigkeiten sollten in einer `
pyproject.toml`-Datei definiert werden.
Für das Abhängigkeitsmanagement wird Poetry 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 in einem Python-Skript importierten Pakets stimmt nicht immer mit dem für den Download erforderlichen Paketnamen überein. Beispielsweise funktioniert das Hinzufügen von „pyscopg2“ zu pyproject.toml 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-Datei 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.