تطبيقات في الوقت الحقيقي باستخدام Azure SignalR Service وAzure Functions

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

خدمة Azure SignalR وAzure Functions كلاهما خدمات مدارة بالكامل وقابلة للتطوير بدرجة عالية تسمح لك بالتركيز على إنشاء التطبيقات بدلا من إدارة البنية الأساسية. من الشائع استخدام الخدمتين معا لتوفير اتصالات في الوقت الحقيقي في بيئة بلا خادم.

دمج الاتصالات في الوقت الحقيقي مع خدمات Azure

تتيح لك خدمة Azure Functions كتابة التعليمات البرمجية بعدة لغات، بما في ذلك JavaScript وPython وC#وJava التي يتم تشغيلها كلما حدثت أحداث في السحابة. تتضمن أمثلة هذه الأحداث ما يلي:

  • طلبات HTTP والإخطار على الويب
  • المؤقتات الدورية
  • الأحداث من خدمات Azure، مثل:
    • Event Grid
    • مراكز الأحداث
    • ناقل الخدمة
    • موجز تغيير قاعدة بيانات Azure Cosmos
    • الكائنات الثنائية كبيرة الحجم للتخزين وقوائم الانتظار
    • موصلات Logic Apps مثل Salesforce وSQL Server

باستخدام Azure Functions لدمج هذه الأحداث مع Azure SignalR Service، لديك القدرة على إعلام الآلاف من العملاء كلما حدثت أحداث.

تتضمن بعض السيناريوهات الشائعة للمراسلة بلا خادم في الوقت الحقيقي التي يمكنك تنفيذها باستخدام Azure Functions وSysalR Service ما يلي:

  • تصور القياس عن بعد لجهاز IoT على لوحة معلومات أو خريطة في الوقت الفعلي.
  • تحديث البيانات في أحد التطبيقات عند تحديث المستندات في Azure Cosmos DB.
  • إرسال إعلامات داخل التطبيق عند إنشاء طلبات جديدة في Salesforce.

روابط SignalR Service لـAzure Functions

تسمح روابط SignalR Service ل Azure Functions لتطبيق Azure Function بنشر الرسائل للعملاء المتصلين بخدمة SignalR. يمكن للعملاء الاتصال بالخدمة باستخدام SDK عميل SignalR المتوفر في .NET وJavaScript وJava، مع المزيد من اللغات قريبا.

مثال لسيناريو

مثال على كيفية استخدام روابط SignalR Service هو استخدام وظائف Azure للتكامل مع Azure Cosmos DB وخدمة SignalR لإرسال رسائل في الوقت الحقيقي عند ظهور أحداث جديدة على موجز تغيير Azure Cosmos DB.

Azure Cosmos DB, Azure Functions, SignalR Service

  1. يتم إجراء تغيير في مجموعة Azure Cosmos DB.
  2. يتم نشر حدث التغيير إلى موجز تغيير Azure Cosmos DB.
  3. يتم تشغيل Azure Functions بواسطة حدث التغيير باستخدام مشغل Azure Cosmos DB.
  4. ينشر ربط إخراج SignalR Service رسالة إلى SignalR Service.
  5. تنشر خدمة SignalR الرسالة لجميع العملاء المتصلين.

المصادقة والمستخدمون

تسمح لك خدمة SignalR ببث الرسائل إلى جميع العملاء أو مجموعة فرعية منهم، مثل تلك التي تنتمي إلى مستخدم واحد. يمكنك دمج روابط SignalR Service ل Azure Functions مع مصادقة App Service لمصادقة المستخدمين مع موفرين مثل Microsoft Entra ID وFacebook وTwitter. يمكنك بعد ذلك إرسال رسائل مباشرة إلى هؤلاء المستخدمين المصادق عليهم.

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

للحصول على تفاصيل كاملة حول كيفية استخدام Azure Functions و SignalR Service معا، تفضل بزيارة الموارد التالية:

لتجربة روابط SignalR Service لوظائف Azure، راجع: