استخدام دالة كمعالج حدث لأحداث "خطوط شبكة الأحداث"

معالج الحدث هو المكان الذي يتم إرسال الحدث إليه. المعالج يتخذ إجراء لمعالجة الحدث. يتم تكوين العديد من خدمات Azure تلقائياً لمعالجة الأحداث وAzure Functions هي واحدة منها.

لاستخدام دالة في Azure كمعالج للأحداث، اتبع إحدى هذه الطرق:

  • استخدام مشغل خطوط شبكة الأحداث. حدد Azure Functionكنوع نقطة نهاية. ثم حدد تطبيق الدالة والدالة التي ستعالج الأحداث.
  • استخدم مشغل HTTP. حدد خطاف الويبلنوع نقطة النهاية. ثم حدد URL للدالة التي ستعالج الأحداث.

نوصي باستخدام الأسلوب الأول (مشغل خطوط شبكة الأحداث) إذ إن له المزايا التالية عبر الأسلوب الثاني:

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

إشعار

  • عند تشغيل Event Grid لإضافة اشتراك حدث باستخدام دالة Azure، تجلب Event Grid مفتاح الوصول للدالة الهدف باستخدام بيانات اعتماد كيان خدمة Event Grid. يتم منح الأذونات إلى Event Grid عند تسجيل موفر مورد Event Grid في اشتراك Azure الخاص بهم.
  • إذا قمت بحماية دالة Azure الخاصة بك باستخدام تطبيق معرف Microsoft Entra، يتعين عليك اتباع نهج خطاف الويب العام باستخدام مشغل HTTP. استخدم نقطة نهاية دالة Azure كعنوان URL لإخطار على الويب عند إضافة الاشتراك.

البرامج التعليمية

‏‫المسمى الوظيفي الوصف
التشغيل السريع: التعامل مع الأحداث باستخدام الدالة إرسال حدث مخصص إلى دالة للمعالجة.
البرنامج التعليمي: أتمتة تغيير حجم الصور التي تم تحميلها باستخدام خطوط شبكة الحدث يقوم المستخدمون بتحميل الصور من خلال تطبيق الويب إلى حساب التخزين. عند إنشاء كائن ثنائي كبير الحجم للتخزين، ترسل "خطوط شبكة الأحداث" حدثاً إلى تطبيق الدالة، الذي يقوم بإعادة تغيير حجم الصورة التي تم تحميلها.
البرنامج التعليمي: دفق البيانات الضخمة في مستودع البيانات عندما تنشئ Event Hubs ملف Capture، ترسل Event Grid حدثاً إلى تطبيق وظيفي. يقوم التطبيق باسترداد ملف الالتقاط وترحيل البيانات إلى مستودع البيانات.
البرنامج التعليمي: أمثلة على تكامل ناقل خدمة Microsoft Azure إلى خطوط شبكة الأحداث Microsoft Azure ترسل "خطوط شبكة الأحداث" رسائل من موضوع ناقل خدمة Azure إلى تطبيق دالة وتطبيق منطقي.

مثال REST (لـ PUT)

{
	"properties": 
	{
		"destination": 
		{
			"endpointType": "AzureFunction",
			"properties": 
			{
				"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Web/sites/<FUNCTION APP NAME>/functions/<FUNCTION NAME>",
				"maxEventsPerBatch": 10,
				"preferredBatchSizeInKilobytes": 64
			}
		},
		"eventDeliverySchema": "EventGridSchema"
	}
}

تمكين الدفعات

للحصول على معدل نقل أعلى، قم بتمكين الدفعات على الاشتراك. إذا كنت تستخدم مدخل Microsoft Azure، يمكنك تعيين الحد الأقصى للأحداث لكل دفعة وحجم الدفعة المفضل بالكيلو بايت في وقت إنشاء اشتراك أو بعد الإنشاء.

يمكنك تكوين إعدادات الدفعات باستخدام مدخل Microsoft Azure أو PowerShell أو CLI أو قالبResource Manager.

مدخل Azure

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

Enable batching at the time of creating a subscription

يمكنك تحديث هذه القيم لاشتراك موجود في علامة التبويب ميزات في صفحة موضوع خطوط شبكة الأحداث.

Enable batching after creation

قالب Azure Resource Manager

يمكنك تعيين maxEventsPerBatch وPreferredBatchSizeInKilobytes في قالب Azure Resource Manager. لمعرفة مزيد من المعلومات، راجع مرجع قالب Microsoft.EventGrid eventSubscriptions.

Azure CLI

يمكنك استخدام az eventgrid event-subscription create الأمر لتكوين الإعدادات المتعلقة بالدفعة باستخدام المعلمات التالية: --max-events-per-batch أو --preferred-batch-size-in-kilobytes.

Azure PowerShell

يمكنك استخدام New-AzEventGridSubscription أو Update-AzEventGridSubscription cmdlet لتكوين الإعدادات المتعلقة بالدفعات باستخدام المعلمات التالية: -MaxEventsPerBatch أو -PreferredBatchSizeInKiloBytes.

إشعار

عند استخدام "مشغل خطوط شبكة الأحداث"، تقوم خدمة "خطوط شبكة الأحداث" بإحضار سر العميل لدالة Azure المستهدفة، ويُستخدم لتسليم الأحداث إلى دالة Azure. إذا قمت بحماية وظيفة azure الخاصة بك باستخدام تطبيق Microsoft Entra، يجب عليك اتباع نهج ربط الويب العام واستخدام مشغل HTTP.

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

راجع مقالة معالجات الأحداث للحصول على قائمة بمعالجات الأحداث المدعومة.