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

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

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

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