البرنامج التعليمي: توجيه رسائل MQTT في Azure Event Grid إلى Azure Functions باستخدام مواضيع مخصصة - مدخل Microsoft Azure
في هذا البرنامج التعليمي، ستتعلم كيفية توجيه رسائل MQTT التي تتلقاها مساحة اسم Azure Event Grid إلى دالة Azure عبر موضوع مخصص لشبكة الأحداث باتباع الخطوات التالية:
إذا لم يكن لديك اشتراك Azure، فقم بالتسجيل للحصول على حساب مجاني.
إنشاء دالة Azure باستخدام مشغل Event Grid
اتبع الإرشادات من إنشاء دالة Azure باستخدام Visual Studio Code، ولكن استخدم مشغل شبكة الأحداث Azure بدلا من استخدام مشغل HTTP. يجب أن تشاهد تعليمة برمجية مشابهة للمثال التالي:
using System;
using Azure.Messaging;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
namespace Company.Function
{
public class MyEventGridTriggerFunc
{
private readonly ILogger<MyEventGridTriggerFunc> _logger;
public MyEventGridTriggerFunc(ILogger<MyEventGridTriggerFunc> logger)
{
_logger = logger;
}
[Function(nameof(MyEventGridTriggerFunc))]
public void Run([EventGridTrigger] CloudEvent cloudEvent)
{
_logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject);
}
}
}
يمكنك استخدام وظيفة Azure هذه كمعالج أحداث لاشتراك موضوع ما لاحقا في هذا البرنامج التعليمي.
إشعار
- إنشاء كافة الموارد في نفس المنطقة.
- تم اختبار هذا البرنامج التعليمي باستخدام دالة Azure التي تستخدم مكدس وقت التشغيل .NET 8.0 (معزول).
إنشاء موضوع Event Grid (موضوع مخصص)
إنشاء موضوع Event Grid. راجع إنشاء موضوع مخصص باستخدام المدخل. عند إنشاء موضوع Event Grid، في علامة التبويب Advanced، لمخطط الحدث، حدد Cloud Event Schema v1.0.
إشعار
استخدم مخطط حدث السحابة في كل مكان في هذا البرنامج التعليمي.
إضافة اشتراك إلى الموضوع باستخدام الدالة
في هذه الخطوة، يمكنك إنشاء اشتراك في موضوع Event Grid باستخدام دالة Azure التي أنشأتها سابقا.
في صفحة موضوع شبكة الأحداث، حدد الاشتراكات على شريط التنقل الأيمن.
في صفحة إنشاء اشتراك حدث، قم بالخطوات التالية:
في صفحة Select Azure function ، قم بالخطوات التالية:
في صفحة Create Event Subscription ، حدد Create.
في صفحة اشتراكات الأحداث، يجب أن تشاهد الاشتراك الذي أنشأته.
إنشاء مساحة الاسم والعملاء ومسافات المواضيع وروابط الأذونات
اتبع الإرشادات من التشغيل السريع: نشر رسائل MQTT والاشتراك فيها باستخدام مساحة اسم شبكة الأحداث مع مدخل Microsoft Azure من أجل:
- إنشاء مساحة اسم Event Grid.
- إنشاء عميلين.
- إنشاء مساحة موضوع.
- إنشاء روابط أذونات الناشر والمشترك.
- اختبر استخدام تطبيق MQTTX للتأكد من أن العملاء قادرون على إرسال الرسائل وتلقيها.
تمكين الهوية المدارة لمساحة الاسم
في هذا القسم، يمكنك تمكين الهوية المدارة المعينة من قبل النظام لمساحة اسم شبكة الأحداث. ثم امنح الهوية إذن الإرسال إلى الموضوع المخصص لشبكة الأحداث الذي قمت بإنشائه سابقا بحيث يمكنه توجيه الرسالة إلى الموضوع المخصص. يمكنك القيام بذلك عن طريق إضافة الهوية المدارة إلى دور مرسل بيانات شبكة الأحداث في الموضوع المخصص.
في صفحة Event Grid Namespace ، حدد Identity في قائمة التنقل اليسرى.
انتقل إلى Event Grid Topic للموضوع المخصص لشبكة الأحداث.
حدد Access control على شريط التنقل الأيسر.
في صفحة التحكم بالوصول، حدد إضافة، ثم حدد إضافة تعيين دور.
في صفحة الدور في معالج إضافة تعيين دور، حدد دور مرسل بيانات شبكة الأحداث، وحدد التالي في أسفل الصفحة.
في صفحة الأعضاء في معالج إضافة تعيين الدور، حدد الهوية المدارة، ثم اختر تحديد أعضاء.
في صفحة تحديد الهويات المدارة ، قم بتنفيذ الخطوات التالية:
في صفحة إضافة تعيين دور، حدد التالي في أسفل الصفحة.
في صفحة Review + assign ، راجع الإعدادات، ثم حدد Review + assign في أسفل الصفحة.
تكوين رسائل التوجيه إلى دالة Azure عبر موضوع مخصص
في هذه الخطوة، يمكنك تكوين التوجيه لمساحة اسم شبكة الأحداث بحيث يتم توجيه الرسائل التي تتلقاها إلى الموضوع المخصص الذي قمت بإنشائه.
في صفحة Event Grid Namespace ، حدد Routing على شريط التنقل الأيمن.
في صفحة التوجيه ، حدد تمكين التوجيه.
بالنسبة لنوع الموضوع، حدد موضوع مخصص.
بالنسبة إلى Topic، حدد الموضوع المخصص الذي أنشأته لهذا البرنامج التعليمي.
بالنسبة إلى الهوية المدارة للتسليم، حدد النظام المعين.
حدد تطبيق في أسفل الصفحة.
إرسال رسائل MQTT الاختبارية باستخدام MQTTX
أرسل رسائل MQTT الاختبارية إلى مساحة الاسم وتأكد من أن الدالة تتلقاها.
اتبع الإرشادات الواردة من مقالة نشر الرسائل والاشتراك فيها باستخدام تطبيق MQTTX لإرسال بعض رسائل الاختبار إلى مساحة اسم شبكة الأحداث.
فيما يلي تدفق الأحداث أو الرسائل:
يرسل MQTTX رسائل إلى مساحة الموضوع لمساحة اسم شبكة الأحداث.
يتم توجيه الرسائل إلى الموضوع المخصص الذي قمت بتكوينه.
تتم إعادة توجيه الرسائل إلى اشتراك الحدث، وهي دالة Azure.
استخدم ميزة التسجيل للتحقق من تلقي الدالة للحدث.
الخطوة التالية
راجع نماذج التعليمات البرمجية في مستودع GitHub هذا.