كيفية إنشاء مستهلك ويبهوك أساسي باستخدام Azure Functions

نيك زيمرمان

20‏/12‏/2017

البريد الإلكتروني

1 min read

كيفية إنشاء مستهلك ويبهوك أساسي باستخدام Azure Functions

النقاط الرئيسية

    • توفر وظائف Azure طريقة سريعة وخالية من الخوادم لنشر وتوسيع مستهلكي الويب هوك دون إدارة البنية التحتية.

    • ترسل الويب هوك بيانات الحدث إلى نقطة النهاية التي قمت بتعريفها — التكامل مع وظائف Azure يتيح الأتمتة عبر منصات مثل Slack وFacebook وSalesforce.

    • من خلال استخدام Visual Studio أو وحدة تحكم Azure، يمكنك بسهولة بناء وتصحيح ونشر مستهلكي الويب هوك.

    • لتجنب الوقت المستغرق المكلف، عالج بيانات الويب هوك بشكل غير متزامن — قم بتخزين ومعالجة الحملات الكبيرة أو المتغيرة خارج الوظيفة الرئيسية.

    • يمكن أن تمتد خدمات حاوية Azure (AKS) إلى الوظائف الطويلة الأمد مع الحفاظ على خفة الوظيفة.

    • يجمع دمج الوظائف الخالية من الخوادم مع الويب هوك بين الحاجة إلى البرامج الوسيطة المعقدة، مما يجعل الأتمتة أكثر مرونة وقابلة للتوسع.

أبرز الأسئلة والأجوبة

  • ما هي webhooks ولماذا هي مفيدة؟

    التنبيهات الشبكية هي رسائل مُؤتمتة تُرسلها خدمات مثل Slack أو PayPal إلى النقطة النهائية التي اخترتها عند حدوث أحداث معينة. إنها تُمكّن التكاملات في الوقت الفعلي وسير العمل الذي يعتمد على الأحداث.

  • لماذا تستخدم Azure Functions لاستهلاك الويب هوك؟

    توفر Azure Functions نموذجًا بدون خادم - لا يوجد خوادم لإدارتها، والقابلية للتوسع بشكل تلقائي، وتكاليف الدفع لكل تنفيذ - مما يجعلها مثالية لحركة المرور غير المتوقعة للويب هوك.

  • كيف أقوم بإنشاء مستهلك webhook أساسي في Azure؟

    يمكنك إنشاء وظيفة Azure إما من خلال Visual Studio أو Azure Console، إضافة مشروع وظيفة Azure جديد، اختبار محليًا، ثم النشر مباشرة على Azure.

  • ما هو أكبر عائق عند العمل مع webhooks؟

    وظائف طويلة الأمد أو مسدودة. دائمًا عالج الطلبات بشكل غير متزامن، واستجب بسرعة للمكالمات POST، وانقل العمل الثقيل إلى عمليات أخرى.

  • كيف يمكنني التعامل مع الأحداث المعقدة أو طويلة الأمد للويب هوك؟

    استخدم خدمات حاويات Azure (AKS) أو أدوات مشابهة لعمليات المعالجة الموسعة. يجب أن تقوم الوظيفة بتشغيل هذه الحاويات والعودة فورًا لتجنب انتهاء المهلة.

  • ما هي الفائدة الرئيسية من دمج الوظائف الخالية من الخادم والويب هوكس؟

    تحصل على إعداد بسيط ومتميز بالمرونة العالية لبناء أنظمة مؤتمتة عبر خدمات متعددة—دون الحاجة إلى الوسائط التقليدية أو التكامل المرتفع التكلفة.

في نوفمبر، قدمت محاضرة في Live! 360 حول كيفية إنشاء مستهلك webhook أساسي باستخدام Azure Functions. ستلخص هذه التدوينة المحاضرة وتوضح الأمور بحيث تفهم أساسيات Azure Functions.

واجهة ويب هوك لعروض أزور

في نوفمبر، ألقيت محاضرة في Live! 360 حول كيفية إنشاء مستهلك ويب هوك أساسي باستخدام وظائف Azure. سيلخص هذا المنشور على المدونة تلك المحاضرة ويبسط الأمور بحيث تفهم أساسيات وظائف Azure، وتوسع إطار العمل الموجود على Github.

ما هي Webhooks؟

النقاط الطرفية (Webhooks) هي أشياء رائعة توفرها العديد من الخدمات الشهيرة بما في ذلك SparkPos

t، Slack، Visual Studio Team Services، Office 365، Facebook، PayPal، وSalesforce. تقوم نقاط الطرفية (Webhooks) بإرسال البيانات بناءً على حدث إلى نقطة نهاية تقوم بتحديدها.

النقاط الطرفية (Webhooks) هي أشياء رائعة توفرها العديد من الخدمات الشهيرة بما في ذلك SparkPos

t، Slack، Visual Studio Team Services، Office 365، Facebook، PayPal، وSalesforce. تقوم نقاط الطرفية (Webhooks) بإرسال البيانات بناءً على حدث إلى نقطة نهاية تقوم بتحديدها.

النقاط الطرفية (Webhooks) هي أشياء رائعة توفرها العديد من الخدمات الشهيرة بما في ذلك SparkPos

t، Slack، Visual Studio Team Services، Office 365، Facebook، PayPal، وSalesforce. تقوم نقاط الطرفية (Webhooks) بإرسال البيانات بناءً على حدث إلى نقطة نهاية تقوم بتحديدها.

لماذا الوظائف الخالية من الخوادم؟

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

التعاون!

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

أساسيات Azure Functions

يمكن إنشاء Azure Functions من خلال Azure Console أو Visual Studio. أوصي بتجربة كلاهما حتى تكون على دراية بالتجارب. واحدة من الأشياء الجميلة في إنشاء شيء ما في Azure Console هي أنه يمكنك تنزيل Azure Function الناتج كملف حل Visual Studio. يعتبر Visual Studio نفس تجربة IDE القوية المألوفة التي تعرفها وتحبها.

هناك مزايا لكلا الطريقتين. يمنحك Azure Function console الوصول المباشر للتحكم في معلمات تشغيل الوظيفة من الموارد المتاحة لحدود استخدام الشهر للتحكم في التكاليف. يمكن تعيين جميع هذه الخيارات والتلاعب بها من خلال Visual Studio عبر ملف host.json والمتغيرات البيئية.

إنشاء مستهلك ويبهوك أساسي

الخطوة 1

قم بإنشاء حل جديد في Visual Studio، وأضف مشروعًا جديدًا إلى ذلك الحل.

Visual studio editor


الخطوة 2

انقر بزر الماوس الأيمن على عقدة المشروع، وأضف عنصرًا جديدًا. اختر Azure Function.


Visual studio editor


الخطوة 3

الآن لديك مشروع Visual Studio مألوف جدًا. يجب أن يكون لديك قالب لـ Azure Function الأساسية بلغة C#. حان الوقت لبناء بعض التعليمات البرمجية لاستهلاك الويب هوك الخاص بك.

Visual studio editor


الخطوة 4

قم بفحص الأخطاء محليًا. صحيح، يمكنك فحص هذه الأشياء بشكل محلي باستخدام جميع أدوات فحص الأخطاء والاستدراك المألوفة في Visual Studio. انتبه إلى وحدة تحكم فحص الأخطاء، حيث تحتوي على الكثير من المعلومات القيّمة حول كل اتصال تقوم به إلى وظيفتك أثناء الاختبار المحلي.

Debugging console


الخطوة 5

انشر Azure Function. انقر بزر الماوس الأيمن على عقدة المشروع واختر نشر. اختر Azure Function و Create New. لاحظ أنه يمكنك تحديث وظيفة موجودة أيضًا. سيتم الآن ظهور الوظيفة في وحدة التحكم في Azure الخاصة بك.

Visual studio editor

المزالق المحتملة

أكثر المشكلات شيوعًا التي تصيب الناس عند العمل مع استهلاك webhook والوظائف بدون خادم هي أن الوظيفة تستغرق وقتًا طويلاً للتشغيل. هذا إما يتسبب في أن تصبح الوظيفة مكلفة جدًا أو فشلها تمامًا بسبب انتهاء مهلة POST الخاصة بـ webhook. هناك بعض الأشياء التي يمكنك القيام بها للتوسط في معالجة هذه المشكلات.

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

شيء آخر يمكن أن يساعد في تخفيف العمليات التي تستغرق وقتًا طويلاً هو تخزين البيانات المشتركة واستخدام الوظيفة بدون خادم لبدء عملية حاوية باستخدام شيء مثل خدمات Azure Container (AKS) للتعامل مع الأجزاء التي تستغرق وقتًا طويلاً. باعتماد هذا التصميم، يجب أن تقوم الوظيفة بدون خادم بإطلاق الحاوية ونسيانها، مما يسمح للحاوية بنشر نتائجها إما إلى سجل أو خدمة إشعارات أخرى من اختيارك. هذا يبقي الوظيفة بدون خادم مختصرة قدر الإمكان مع السماح بحدوث معالجة معقدة.

لنشعل هذه الشمعة

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

-نيك زيمرمان

ملاحظة – أدناه بعض الموارد الإضافية عن وظائف Azure التي قد تجدها ممتعة – استمتع!

أخبار أخرى

اقرأ المزيد من هذه الفئة

A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.

A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.

A person is standing at a desk while typing on a laptop.

منصة AI-native الكاملة التي تتماشى مع نمو عملك.