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

نيك زيمرمان

20‏/12‏/2017

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

1 min read

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

نيك زيمرمان

20‏/12‏/2017

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

1 min read

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

في نوفمبر، قدمت محاضرة في 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 الأساسية بلغة C#. حان الوقت لكتابة بعض الأكواد لاستهلاك webhook الخاص بك.

Visual studio editor


الخطوة 4

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

Debugging console


الخطوة 5

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

Visual studio editor

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

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

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

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

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

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

-نيك زيمرمان

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

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

دعنا نوصلك بخبير من Bird.
رؤية القوة الكاملة لـ Bird في 30 دقيقة.

بتقديمك طلبًا، فإنك توافق على أن تقوم Bird بالاتصال بك بشأن منتجاتنا وخدماتنا.

يمكنك إلغاء الاشتراك في أي وقت. انظر بيان الخصوصية الخاص بـ Bird للتفاصيل حول معالجة البيانات.

R

وصول

G

نمو

م

إدارة

A

أتمتة

النشرة الإخبارية

ابقَ على اطلاع مع Bird من خلال التحديثات الأسبوعية إلى بريدك الوارد.