دليل الترحيل إلى البرامج النصية في سكور-8.1

يساعد هذا الدليل في نقل المحولات الحالية إلى البرامج النصية الجديدة التي تم تقديمها في SKOOR-8.1

أنواع البرامج النصية

يتم دعم أنواع البرامج النصية التالية (Python، Talend، Custom/Shell).

معلومات عامة

هذه التغييرات/الملاحظات صالحة لجميع أنواع البرامج النصية.

  1. يمكن حفظ متغيرات البيئة في ملف .env في الجذر.

  2. لم يعد من الضروري تحميل ملف المصدر لبدء مهمة.

  3. إذا تم تمرير ملف إلى البرنامج النصي، فسيتم تمريره كمتغير بيئة SKOOR_SOURCE_FILE.

لا تزال البرامج النصية Talend تتوقع الملف المصدر كسمة، لذا لم يتم تغييرها.

# 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"

نصوص Python

  1. بالنسبة لنصوص Python، لم يعد من الضروري تغليف بيئة Python main.py بنص shell <converters_name>_run.sh.

  2. يجب أن تكون نقطة الدخول main.py ويفضل أن تكون في الجذر.

  3. يجب تحديد التبعيات المطلوبة في pyproject.toml

يُستخدم Poetry لإدارة التبعيات.

لإضافة تبعيات جديدة إلى المشروع، قم بتضمين الحزمة المطلوبة باستخدام مواصفات التبعيات المدعومة من Poetry.

لا يتطابق اسم الحزمة المستوردة في برنامج Python النصي دائمًا مع اسم الحزمة المطلوب للتنزيل. على سبيل المثال، لا تعمل إضافة pyscopg2 إلى pyproject.toml لأن اسم الحزمة الصحيح هو psycopg2-binary. استخدم PyPI للعثور على أسماء الحزم الصحيحة.

يمكن استخدام المثال التالي لإنشاء 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"

محولات Talend

لا يلزم إجراء أي تغييرات ترحيل على محولات Talend.