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.

  1. Umgebungsvariablen können in einer .env Datei in root gespeichert werden.

  2. Das Hochladen einer Quelldatei ist nicht mehr notwendig, 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 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

  1. Für Python Skripte ist es nicht mehr notwendig, das Python main.py mit einem Shell Skript <converters_name>_run.sh zu umhüllen.

  2. Der Einstiegspunkt sollte main.py sein, vorzugsweise in root.

  3. 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.