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.
Umgebungsvariablen können in einer Datei „
.env” im Stammverzeichnis gespeichert werden.Das Hochladen einer Quelldatei ist nicht mehr erforderlich, um einen Job zu starten.
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
Bei Python-Skripten ist es nicht mehr erforderlich, die Python-
main.pymit einem Shell-Skript-<converters_name>_run.shzu umschließen.Der Einstiegspunkt sollte vorzugsweise in root liegen.
Erforderliche Abhängigkeiten sollten in einer
pyproject.tomldefiniert 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.