Guida alla migrazione agli Script in Skoor-8.1
Questa guida aiuta a trasferire i convertitori esistenti ai nuovi Script introdotti in SKOOR-8.1.
Tipi di Script
Sono supportati i seguenti tipi di Script (Python, Talend, Custom/Shell).
Informazioni generali
Queste modifiche/note sono valide per tutti i tipi di Script.
Le variabili d'ambiente possono essere salvate in un file
.env
in root.Il caricamento di un file sorgente non è più necessario per avviare un lavoro.
Se un file viene passato allo script, verrà passato come variabile d'ambiente
SKOOR_SOURCE_FILE
.
Gli script Talend si aspettano ancora il file sorgente come attributo, quindi non sono stati modificati.
# 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"
Script Python
Per gli script Python, non è più necessario avvolgere il python
main.py
con uno script di shell<converters_name>_run.sh
.Il punto di ingresso dovrebbe essere
main.py
preferibilmente in root.Le dipendenze necessarie devono essere definite in un file
pyproject.toml
La poesia è usata per la gestione delle dipendenze.
Per aggiungere nuove dipendenze al progetto, includere il pacchetto richiesto usando le specifiche di dipendenza supportate da Poetry.
Il nome di un pacchetto importato in uno script Python non sempre corrisponde al nome del pacchetto richiesto per il download. Ad esempio, l'aggiunta di pyscopg2 a pyproject.toml
non funziona perché il nome corretto del pacchetto c è psycopg2-binary
. Utilizzate PyPI per trovare i nomi corretti dei pacchetti.
L'esempio seguente può essere utilizzato per creare un pacchetto iniziale di 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"
Convertitori Talend
Non sono necessarie modifiche di migrazione ai convertitori Talend.