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, 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 d'.envs situé à la racine.

  2. Il n'est plus nécessaire de télécharger un fichier source pour démarrer une tâche.

  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 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 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 de préférence main.py dans la racine.

  3. Les dépendances requises doivent être définies dans un pyproject.toml

Poetry est utilisé pour la gestion des dépendances.

Pour ajouter de nouvelles dépendances au projet, incluez le package requis à l'aide de 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 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.