دليل الترحيل إلى البرامج النصية في سكور-8.1
يساعد هذا الدليل على نقل المحولات الحالية إلى البرامج النصية الجديدة التي تم تقديمها في SKOOR-8.1
أنواع البرامج النصية
يتم دعم الأنواع التالية من البرامج النصية (بايثون، تاليند، مخصص/قذيفة).
معلومات عامة
هذه التغييرات/الملاحظات صالحة لجميع أنواع البرامج النصية.
- يمكن حفظ متغيرات البيئة في ملف - .envفي الجذر.
- لم يعد تحميل ملف مصدر ضرورياً بعد الآن لبدء مهمة. 
- إذا تم تمرير ملف إلى البرنامج النصي، فسيتم تمريره كمتغير بيئة - 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"
البرامج النصية لبايثون
- بالنسبة للنصوص البرمجية للبايثون، لم تعد هناك حاجة لتغليف البرنامج النصي للبايثون - main.pyبنص برمجي shell- <converters_name>_run.sh.
- يجب أن تكون نقطة الدخول - main.pyويفضل أن تكون في الجذر.
- يجب تعريف التبعيات المطلوبة في - 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.