خطاف الويب

الوظيفة

تُستخدم وظائف Webhook لتلقي البيانات من خارج محرك SKOOR، باستخدام واجهة برمجة تطبيقات REST الخاصة به. ستنتظر المهمة قيم الإدخال (قيم رقمية وسلسلة) وتخزين سجل قيم القيم الواردة.

الإنذار

رمز الخطأ، القيم، القيم السلسلية

بالنسبة لهذا النوع من المهام، يجب تعيين المُجمِّع على مُجمِّع يمكن استخدامه لمصادقة مكالمات REST. إذا لم يتم ذلك بعد، قم بإنشاء مستخدم من نوع المُجمِّع في /root/Users/Users.

تفاصيل خطاف الويب

معلمات خطاف الويب

المعلمة

الوصف

المهلة بعد

في حالة التعيين، سيتم تعيين رمز خطأ المهمة إلى 5 (خطأ في المهلة) إذا لم يتم إرسال أي بيانات إلى المهمة خلال الوقت المحدد. يجب إعادة تعيين المهلة بواسطة رمز الخطأ المرسل مع تسليم البيانات التالي

القيم

أضف قيمة لكل قيمة رقمية سيتم إرسالها إلى واجهة برمجة تطبيقات SKOOR REST API. لكل قيمة زر تعريف للوحدة يسمح بتحديد اسم القيمة والوحدة والمقسوم عليه والدقة والوصف

قيم السلسلة

إضافة قيمة سلسلة لكل قيمة سلسلة سيتم إرسالها إلى واجهة برمجة تطبيقات SKOOR REST. لكل قيمة سلسلة زر تعريف وحدة يسمح بتحديد اسم قيمة السلسلة والوحدة والوصف

قيم خطاف الويب وحدود الإنذار

القيمة / حد الإنذار

الوصف

القيمة 1-x

قيمة رقمية محددة من قبل المستخدم

قيمة السلسلة 1-x

قيمة سلسلة محددة من قبل المستخدم

رمز الخطأ

رمز خطأ عام للمهمة (راجع قسم رموز أخطاء المهمة)

تغذية البيانات إلى مهمة خطاف الويب

يمكن استخدام أي عميل REST لإرسال القيم وقيم السلسلة إلى مهمة Webhook. في هذا المثال يتم استخدام أداة سطر الأوامر curl. يسرد ما يلي نص برمجي بسيط من bash shell يقوم بتغذية المهمة بقيمتين رقميتين وقيمة سلسلة واحدة في كل مرة يتم تشغيلها.

يجب إرسال رمز خطأ مع القيمتين لإعادة تعيين رمز الخطأ 5 (خطأ المهلة) إذا تم تعيين المهلة بعد في تكوين المهمة

#!/bin/bash
  
HOST="10.1.0.89"
USER="webhook"
PASSWORD="webhook"
JOBID=830

SESSIONID=$(curl -s -k "https://${HOST}/skoor-webservice/session/login?username=${USER}&password=${PASSWORD}" | python -m json.tool | grep sessionId | cut -d"\"" -f4)

curl -s -k -X POST -H "Content-Type: application/json" -d '{"returnValue1":24.42,"returnValue2":99,"stringValue1":"Skoor Test 3","errorCode":0}' "https://${HOST}/skoor-webservice/webcollector/jobs/$JOBID/values?sessionId=${SESSIONID}"

curl -s -k "https://${HOST}/skoor-webservice/session/logout?sessionId=${SESSIONID}"

يحدد البرنامج النصي أولاً بعض المتغيرات:

  • المضيف: عنوان IP أو اسم المضيف لخادم SKOOR حيث تم تكوين مهمة خطاف الويب

  • USER: اسم مستخدم المجمع الذي تم تكوينه على خادم SKOOR

  • كلمة المرور: كلمة المرور الخاصة بالمستخدم المجمّع.

  • JOBID: معرف مهمة خطاف الويب الذي يجب أن يتلقى القيم

ثم يتم إجراء تسجيل الدخول إلى خدمة SKOOR Webservice، وتلقي معرف جلسة العمل. معرّف الجلسة عبارة عن سلسلة تبدو كالتالي: d6c38ad55e80b80b4a3bed39d55699b824e.

يقوم أمر curl بإرسال القيم باستخدام الترميز returnValueX و stringValueX ضمن طلب POST إلى خدمة SKOOR Webservice، مع معرف جلسة عمل صالح.

يبدو نص طلب POST كما يلي:

{
    "returnValue1": 24.42,
    "returnValue2": 99,
    "stringValue1": "Skoor Test 3",
    "errorCode": 0
}

أو

{
    "returnValue": [24.42, 99],
    "stringValue1": "Skoor Test 3",
    "errorCode": 0
}

يمكن أن تكون البيانات المراد تغذيتها من أي مصدر، طالما يمكن تمريرها إلى عميل REST.

قم دائمًا بإرسال طلب POST باستخدام الرأس المناسب نوع المحتوى: تطبيق/json.

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

يمكن أن يتواجد البرنامج النصي ويتم تشغيله من أي مضيف يمكنه الوصول إلى خادم SKOOR Engine عبر منفذ HTTPS TCP 443.

لمزيد من المعلومات حول واجهة برمجة تطبيقات REST API، يرجى الاطلاع على دليل خدمة الويب المتاح على كل تثبيت لمحرك SKOOR على https:// <SKOOR server>/skoor-webservice.

قبل تشغيل البرنامج النصي، يجب تحديد القيمتين وقيمة سلسلة واحدة في مهمة خطاف الويب باستخدام أزرار الوحدة المقابلة لها:


بمجرد تشغيل البرنامج النصي، يجب أن تكون مهمة خطاف الويب قد تلقت القيم:

تضع القيمة 1 المهمة في الحالة الصغرى حيث تم تعريف حدود الإنذار التالية على المهمة: