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

معالج الأحداث هو الوجهة التي يرسل فيها Azure Event Grid حدثا للمعالجة. يقوم Azure تلقائيا بتكوين عدة خدمات للتعامل مع الأحداث، ويعد دالات Azure واحدا منها.

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

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

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

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

استخدم النهج الأول (تفعيل شبكة الحدث). له المزايا التالية مقارنة بالنهج الثاني:

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

إشعار

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

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

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

مثال على واجهة برمجة التطبيقات REST

المثال التالي يظهر جسم الطلب لعملية PUT التي تنشئ اشتراك حدث باستخدام دالة Azure كمعالج أحداث. يحدد معرف الموارد لوظيفة الهدف ويمكن من التجميع.

{
    "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"
    }
}

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

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

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

مدخل Azure

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

لقطة شاشة لعلامة التبويب المتقدمة في صفحة إنشاء اشتراك الحدث تظهر إعدادات الدفعة.

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

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

قالب Azure Resource Manager

Set 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 أو cmdlet Update-AzEventGridSubscription لتكوين إعدادات الدفعات المحددة. استخدم معامل -MaxEventsPerBatch or -PreferredBatchSizeInKiloBytes لتحديد تفضيلاتك.

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