كيفية استكشاف أخطاء معالج أحداث Azure Web PubSub وتصحيحها

عندما يتصل اتصال WebSocket بخدمة Web PubSub، تقوم الخدمة بصياغة طلب HTTP POST إلى المصدر المسجل وتتوقع استجابة HTTP. نستدعي المصدر كمعالج الحدث ومعالجالأحداث مسؤول عن معالجة الأحداث الواردة باتباع مواصفات Web PubSub CloudEvents.

تشغيل نقطة نهاية معالج الأحداث محليا

عند تشغيل معالج الأحداث محليا، لا يمكن الوصول إلى الخادم المحلي بشكل عام.

هناك طريقتان لتوجيه نسبة استخدام الشبكة إلى المضيف المحلي الخاص بك، إحداهما هي كشف المضيف المحلي للوصول إليه على الإنترنت باستخدام أدوات مثل ngrok أو localtunnel أو TunnelRelay. طريقة أخرى، والطريقة الموصى بها أيضا هي استخدام awps-tunnel لنفق نسبة استخدام الشبكة من خدمة Web PubSub من خلال الأداة إلى الخادم المحلي الخاص بك.

تنشئ أداة النفق المحلي Web PubSub، تحت الغطاء، العديد من اتصالات النفق المستمرة (نعتبرها نوعا واحدا من اتصالات الخادم) بخدمة Web PubSub. كلما جاء حدث ما، توجه خدمة Web PubSub رسالة الحدث من خلال اتصال النفق إلى أداة النفق المحلي، وأداة النفق المحلي تقوم بإصلاح طلب HTTP وإرسال الطلب إلى خادم المصدر.

توفر أداة النفق المحلي طريقة عرض حية لسير العمل من خلال صفحة عرض الويب. تستمع طريقة عرض الويب بشكل افتراضي إلى المنفذ upstream port + 1000المحلي ، ويمكنك تخصيص منفذ webview باستخدام معلمة --webviewPort <your-custom-port>الأمر .

تحتوي طريقة عرض الويب على أربع علامات تبويب:

  • علامة تبويب العميل ، فإنها توفر اختبار عميل WebSocket لتوصيل Web PubSub وإرسال البيانات.
  • علامة تبويب Web PubSub ، وتوفر المعلومات الأساسية حول خدمة Web PubSub وتضمين صفحة التتبع المباشر إذا تم تمكينها.
  • علامة تبويب النفق المحلي، تسرد جميع الطلبات التي تمر عبر أداة النفق المحلي إلى الخادم المحلي.
  • علامة تبويب الخادم ، تعرض المعلومات الأساسية حول الخادم المحلي. كما يوفر خادم echo مضمنا مع تعليمات برمجية مشابهة لعينة التعليمات البرمجية الموضحة أدناه.

لقطة شاشة توضح فحص حركة المرور.

اتبع التطوير باستخدام أداة النفق المحلي لتثبيت وتشغيل أداة النفق محليا لتطوير خادم معالج الأحداث محليا.

تصحيح أخطاء نقطة نهاية معالج الأحداث عبر الإنترنت

في بعض الأحيان قد تواجه مشكلات في إرسال الأحداث إلى معالج أحداث تم تكوينه في المصدر. يرتبط أحد أنواع الأخطاء النموذجية بفشل الحماية من إساءة الاستخدام، على سبيل المثال، AbuseProtectionResponseInvalidStatusCodeأو AbuseProtectionResponseMissingAllowedOriginأو .AbuseProtectionResponseFailed من المحتمل أن يكون هذا الخطأ مرتبطا بإعدادات خادم التطبيق المصدر، على سبيل المثال، قد يكون رمز الحالة 403 مرتبطا بتكوين مصادقة خادم التطبيق، وقد يكون سبب رمز الحالة 404 هو تكوين مسار معالج الأحداث غير المتناسق. تتمثل إحدى طرق استكشاف أخطاء هذا الفشل وإصلاحها في إرسال طلب حماية من إساءة الاستخدام إلى عنوان URL لمعالج الأحداث المكون لمعرفة ما إذا كان يعمل، على سبيل المثال، استخدام curl الأمر لإرسال طلب حماية من إساءة الاستخدام إلى عنوان URL https://abc.web.com/eventhandler لمعالج الأحداث المكون كما يلي:

curl https://abc.web.com/eventhandler -X OPTIONS -H "WebHook-Request-Origin: *" -H "ce-awpsversion: 1.0" --ssl-no-revoke -i

يجب أن يرجع الأمر 204.

الخطوات التالية

استخدم هذه الموارد لبدء إنشاء التطبيق الخاص بك: