Guide de migration vers les Scripts dans Skoor-8.1

Ce guide aide à transférer les convertisseurs existants vers les nouveaux scripts introduits dans SKOOR-8.1

Types de Scripts

Les types de scripts suivants sont pris en charge (Python, Talend, Custom/Shell).

Informations générales

Ces modifications/notes sont valables pour tous les types de scripts.

  1. Les variables d'environnement peuvent être sauvegardées dans un fichier .env à la racine.

  2. Le téléchargement d'un fichier source n'est plus nécessaire pour démarrer un job.

  3. Si un fichier est transmis au Script, il sera transmis en tant que variable d'environnement SKOOR_SOURCE_FILE.

Les scripts Talend attendent toujours le fichier source comme un attribut, 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 Scripton

  1. Pour les scripts Python, il n'est plus nécessaire d'envelopper le python main.py avec 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 paquetage requis en utilisant la spécification de dépendance prise en charge par Poetry.

Le nom d'un paquetage importé dans un Script Python ne correspond pas toujours au nom du paquetage requis pour le téléchargement. Par exemple, l'ajout de pyscopg2 à pyproject.toml ne fonctionne pas car le nom correct du paquetage est psycopg2-binary. Utilisez PyPI pour trouver les noms de paquets corrects.

L'exemple suivant peut être utilisé pour créer un paquetage initial de 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"

Convertisseurs Talend

Aucun changement de migration n'est nécessaire pour les convertisseurs Talend.