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

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

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

يتم دعم الأنواع التالية من البرامج النصية (بايثون، تاليند، مخصص/قذيفة).

معلومات عامة

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

  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"

البرامج النصية لبايثون

  1. بالنسبة للنصوص البرمجية للبايثون، لم تعد هناك حاجة لتغليف البرنامج النصي للبايثون main.py بنص برمجي shell <converters_name>_run.sh.

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

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

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

لإضافة تبعيات جديدة إلى المشروع، قم بتضمين الحزمة المطلوبة باستخدام مواصفات التبعية المدعومة من 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.