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 supportés (Python, Talend, Custom/Shell).
Informations générales
Ces changements/notes sont valables pour tous les types de scripts.
Les variables d'environnement peuvent être sauvegardées dans un fichier
.envà la racine.Le téléchargement d'un fichier source n'est plus nécessaire pour démarrer un job.
Si un fichier est passé au script, il sera passé 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 Python
Pour les scripts Python, il n'est plus nécessaire d'envelopper le python
main.pyavec 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 paquetage 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 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.