
في نوفمبر، قدمت محاضرة في Live! 360 حول كيفية إنشاء مستهلك webhook أساسي باستخدام Azure Functions. ستلخص هذه التدوينة المحاضرة وتوضح الأمور بحيث تفهم أساسيات Azure Functions.
واجهة ويب هوك لعروض أزور
في نوفمبر، ألقيت محاضرة في Live! 360 حول كيفية إنشاء مستهلك webhook أساسي باستخدام Azure Functions. ستقوم هذه التدوينة بتلخيص تلك المحاضرة وتوضيح الأمور بحيث ستفهم أساسيات Azure Function، وتوسيع إطار العمل الموجود على Github.
ما هي 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، وأضف مشروعاً جديداً إلى ذلك الحل.

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

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

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

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

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