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.

  1. Les variables d'environnement peuvent être enregistrées dans un fichier « .env » situé à la racine.

  2. Il n’est plus nécessaire de télécharger un fichier source pour lancer un job.

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

  1. Pour les scripts Python, il n’est plus nécessaire d’encapsuler l’main.py Python dans un script shell <converters_name>_run.sh.

  2. Le point d’entrée doit être main.py, de préférence à la racine.

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