البرامج النصية / استيراد البيانات القديمة

البرامج النصية هو حل SKOOR الشامل لإنشاء البرامج النصية وتحريرها وتشغيلها مع الكثير من الخيارات لتخصيصها.

تنقسم البرامج النصية إلى 3 أنواع رئيسية: بايثون وتاليند ومخصص.

صفحة البرامج النصية

تنقسم الصفحة إلى ثلاثة أقسام رئيسية:

الإعدادات

يتضمن هذا القسم الإعدادات العامة للبرنامج النصي، مثل:

  • الاسم والوصف.

  • المهلة الافتراضية (بالثواني)

  • نسخ الرمز المميز لخطاف الويب أو إعادة تعيينه (متاح فقط للمدراء)

  • تكوينات الجدول الزمني: يتيح جداول متعددة مع تكوينات تشغيل مخصصة.

  • تكوينات التشغيل: يسمح بتخصيص المهلة ومتغيرات البيئة.

image-20250214-092855.png

الملفات

يقدم هذا القسم حلاً كاملاً لإدارة الملفات الخاصة بالبرنامج النصي، بما في ذلك محرر حديث للبيانات النصية.

سيتم عرض رابط تنزيل إذا كانت البيانات ثنائية (غير قابلة للتحرير في شكل نصي).

image-20250214-093009.png

تشغيل

هذا القسم مسؤول عن تشغيل ومراقبة عمليات تشغيل البرنامج النصي. يوفر منطقة إسقاط صغيرة لتحميل ملفات المصدر إذا لزم الأمر.

image-20250214-093849.png

إنشاء برنامج نصي

يمكن إنشاء البرامج النصية يدويًا، أو تحميلها عبر ملفات مضغوطة كما هو موضح أدناه:

image-20250214-093918.png

image-20250214-093927.png

أركان البرنامج النصي

تشغيل النص البرمجي النصي

يتضمن الملف الرئيسي منطق البرنامج النصي. هذا يحدد نوع البرنامج النصي:

  • بالنسبة لـ Python Script: إنه ملف main.py.

  • بالنسبة لـ Talend Script: يكون ملف <scriptName>_run.sh.

  • بالنسبة للبرنامج النصي المخصص: إنه ملف run.sh.

يرجى ملاحظة أنه لا يمكن تغيير نوع البرنامج النصي بعد الإنشاء. يمكن القيام بذلك فقط عن طريق إنشاء برنامج نصي جديد.

.env

هو ملف نصي بسيط، يتضمن متغيرات البيئة. بهذه الطريقة يمكن تعديل المتغيرات المستخدمة في البرنامج النصي بناءً على حالة الاستخدام.
سينتج عن الملف التالي .env ملف متغيرات البيئة المعروضة، مما يسمح بتعديلها في تكوينات التشغيل المخصصة.

image-20250214-094006.pngimage-20250214-094332.png

متغيرات البيئة المتوفرة مسبقاً

يتم تمرير بعض التفاصيل المتعلقة بتشغيل البرنامج النصي إلى بيئة البرنامج النصي كمتغيرات بيئة، وهي

  • معرّف المستخدم كـ SKOOR_USER_ID

  • اسم المستخدم ك SKOOR_USER_USERNAME

  • الاسم الكامل للمستخدم كـ SKOOR_USER_FULLNAME

توضح لقطات الشاشة أدناه كيفية استرداد تلك المتغيرات في مثال بايثون إلى جانب المخرجات في البرنامج النصي:

import os

source_file = os.environ.get('SKOOR_SOURCE_FILE')
user_id = os.environ.get('SKOOR_USER_ID')
username = os.environ.get('SKOOR_USER_USERNAME')
userFullname = os.environ.get('SKOOR_USER_FULLNAME')

print("sourceFile: ", source_file)
print("User ID: ", user_id)
print("Username: ", username)
print("Fullname: ", userFullname)
image-20250214-094833.png

مثال باستخدام .env

يقرأ النص البرمجي التالي المتغير foo في .env ويطبعه إلى وحدة التحكم، وفيما يلي لقطات شاشة لذلك .env وتكوينات التشغيل ذات الصلة.

image-20250214-094929.pngimage-20250214-094943.png

image-20250214-094911.png

image-20250214-095049.pngimage-20250214-095128.png

ملفات المصدر

يمكن تصميم البرامج النصية لقبول ملفات خارجية (ملفات المصدر) ومعالجتها كجزء من منطق البرنامج النصي.

يمكن الإشارة إلى الملفات المصدر في البرنامج النصي باستخدام متغير البيئة SKOOR_SOURCE_FILE كما هو موضح في مقتطف الكود التالي:

# IN PYTHON
import os

source_file = os.environ.get('SKOOR_SOURCE_FILE')
print(source_file)
#IN SHELL

echo $SKOOR_SOURCE_FILE

QuickRun

يوفر هذا الخيار زر QuickRun الذي يقوم بتشغيل البرنامج النصي بدون ملف مصدر وبالقيم الافتراضية لمتغيرات البيئة.
وهو يسمح بتشغيل البرنامج النصي بسرعة أثناء تطويره أو استكشاف أخطائه وإصلاحها ويعرض الزر Latest Job Overview مخرجات وحدة التحكم.

image-20250214-095256.png

بنية البرنامج النصي المضغوط

يجب أن يحتوي الملف المضغوط الذي تم تحميله على مجلد واحد فقط في الجذر، يحمل نفس اسم ملف الأرشيف المضغوط.

image-20250106-134808.png

يفضل أن يكون البرنامج النصي للتشغيل في جذر مجلد البرنامج النصي وملف .env.

image-20250106-134954.png

تشغيل

ابدأ التشغيل

في قسم التشغيل، حدد التكوين المطلوب (وقم بتحميل ملف مصدر إذا لزم الأمر) ثم انقر فوق "تشغيل البرنامج النصي"

image-20250214-095342.png

إلغاء تشغيل

يمكن إلغاء عمليات التشغيل قيد التشغيل وكذلك عمليات التشغيل المنتظرة بالنقر على أيقونة إلغاء المهمة في قسم المحفوظات.

image-20250214-095439.png

نظرة عامة على المهمة

لعرض التفاصيل الكاملة لمهمة ما، انقر على إدخال في قائمة المحفوظات كما هو موضح أدناه:

image-20250214-095601.png

image-20250214-095612.png

تاريخ التشغيل

يعرض قسم المحفوظات قائمة بجميع عمليات تشغيل البرنامج النصي. يمكن العثور على تفاصيل كل عملية تشغيل بالنقر عليها.

image-20250214-095715.png

يعرض قسم مخصص التاريخ التفصيلي لآخر تشغيل للبرنامج النصي (يتخطى عمليات التشغيل المنتظرة/الملغاة)

image-20250214-095752.png

استخدام رموز خطاف الويب لتشغيل المحول

يتيح هذا الخيار إمكانية تشغيل البرنامج النصي دون الحاجة إلى تسجيل الدخول، وهو خيار مفضل للمستخدمين التقنيين.
يحتوي كل برنامج نصي على رمز Webhook المميز الخاص به وسيتم نسخ عنوان URL إلى الحافظة بالنقر Copy Webhook Token.

مثال على استخدام رموز Webhook المميزة

انسخ الرمز المميز لخطاف الويب من صفحة البرنامج النصي بالنقر Copy Webhook Token ، في هذا المثال يبدو عنوان URL الخاص بخطاف الويب كما يلي:

http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5

استخدم عنوان URL لإرسال طلب POST:

باستخدام برنامج واجهة برمجة التطبيقات مثل POSTMAN

image-20250213-145831.png

تشير استجابة 200 مع كيان الوظيفة الأولي إلى أنه تم تشغيل التشغيل كما هو موضح في لقطة الشاشة أدناه:

image-20250213-145952.png

استخدام cURL في المحطة الطرفية

curl -X POST http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5

ستبدو الاستجابة كما يلي


image-20250213-151347.png

يمكن ملاحظة هذا التشغيل في لوحة معلومات SKOOR-Dashboard ويظهر التشغيل الذي تم إنشاؤه بواسطة Token-User في السجل.

image-20250214-095924.png

image-20250214-095945.png

الحذف

انقر على أيقونة سلة المهملات لحذف البرنامج النصي. سيظهر الرمز عند التمرير فوق اسم البرنامج النصي بمؤشر الماوس.

image-20250226-085215.png

تصدير البرنامج النصي بصيغة Zip

انقر على أيقونة الأرشيف لتصدير البرنامج النصي. ستظهر الأيقونة عند التمرير فوق اسم البرنامج النصي بمؤشر الماوس.

image-20250226-085236.png