Guide de migration vers les Scripts dans Skoor-8.1
Ce guide vous aide à adapter vos convertisseurs existants aux nouveaux scripts introduits dans SKOOR-8.1
Types de scripts
Les types de scripts suivants sont pris en charge (Python, Talend, Personnalisé/Shell).
Informations générales
Ces modifications/remarques s'appliquent à tous les types de scripts.
Les variables d'environnement peuvent être enregistrées dans un fichier «
.env» situé à la racine.Il n’est plus nécessaire de télécharger un fichier source pour lancer un job.
Si un fichier est transmis au script, il sera transmis sous forme de variable d’environnement
SKOOR_SOURCE_FILE.
Les scripts Talend attendent toujours l'attribut sourceFile ; ils n'ont donc pas été modifiés.
# 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"
Scripts Python
Pour les scripts Python, il n’est plus nécessaire d’encapsuler l’
main.pyPython dans un script shell<converters_name>_run.sh.Le point d’entrée doit être
main.py, de préférence à la racine.Les dépendances requises doivent être définies dans un fichier `
pyproject.toml`.
Poetry est utilisé pour la gestion des dépendances.
Pour ajouter de nouvelles dépendances au projet, incluez le paquet requis en utilisant la spécification de dépendance prise en charge par Poetry.
Le nom d’un paquet importé dans un script Python ne correspond pas toujours au nom du paquet requis pour le téléchargement. Par exemple, l’ajout de `pyscopg2` à `pyproject.toml` ne fonctionne pas, car le nom correct du paquet est `psycopg2-binary`. Utilisez PyPI pour trouver les noms de paquets corrects.
L’exemple suivant peut être utilisé pour créer un fichier « pyproject.toml » initial
[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"
Convertisseurs Talend
Aucune modification de migration n’est nécessaire pour les convertisseurs Talend.