Приложения в режиме реального времени с Служба Azure SignalR и Функции Azure

Служба Azure SignalR в сочетании с Функции Azure позволяет запускать веб-приложения для обмена сообщениями в режиме реального времени в бессерверной среде. В этой статье представлен обзор работы служб.

Служба Azure SignalR и Функции Azure являются полностью управляемыми, высокомасштабируемыми службами, которые позволяют сосредоточиться на создании приложений вместо управления инфраструктурой. Обычно используются две службы вместе для обеспечения обмена данными в режиме реального времени в бессерверной среде.

Интеграция служб Azure в режиме реального времени

Служба Функции Azure позволяет писать код на нескольких языках, включая JavaScript, Python, C#и Java, который активирует всякий раз, когда события происходят в облаке. Примеры этих событий.

  • Запросы HTTP и веб-перехватчика.
  • Периодические таймеры.
  • События из служб Azure, например:
    • Сетка событий
    • Концентраторы событий
    • Служебная шина
    • Канал изменений Azure Cosmos DB
    • служба хранилища больших двоичных объектов и очередей
    • соединители Logic Apps, например Salesforce и SQL Server.

Используя службу "Функции Azure" для интеграции этих событий с помощью службы Azure SignalR, вы можете уведомлять тысячи клиентов о каждом событии.

Некоторые распространенные сценарии беcсерверной передачи сообщений в режиме реального времени, которые можно реализовать с помощью служб "Функции Azure" и SignalR, включают следующее.

  • Визуализация телеметрии устройства Интернета вещей на панели мониторинга или карте в режиме реального времени.
  • Обновите данные в приложении при обновлении документов в Azure Cosmos DB.
  • Отправка уведомлений в приложении при создании новых заказов в Salesforce.

Привязки службы SignalR для службы "Функции Azure"

Привязки службы SignalR для службы "Функции Azure" позволяют приложению "Функции Azure" публиковать сообщения клиентов, подключенных к службе SignalR. В ближайшее время клиенты смогут подключаться к службе с помощью пакета SDK клиента SignalR, доступного на языках .NET, JavaScript и Java, а вскоре и с большим количеством языков.

Пример сценария

Пример использования привязок Служба SignalR использует Функции 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 активируется событием изменения с помощью триггера Azure Cosmos DB.
  4. Выходная привязка Служба SignalR публикует сообщение в Служба SignalR.
  5. Служба SignalR публикует сообщение всем подключенным клиентам.

Проверка подлинности и пользователи

Служба SignalR позволяет транслировать сообщения всем или подмножествам клиентов, таким как те, которые принадлежат одному пользователю. Вы можете объединить привязки Служба SignalR для Функции Azure с проверкой подлинности Служба приложений для проверки подлинности пользователей с помощью таких поставщиков, как Идентификатор Microsoft Entra, Facebook и Twitter. Затем вы можете отправлять сообщения непосредственно этим пользователям, прошедшим проверку подлинности.

Следующие шаги

Полные сведения об использовании Функций Azure и службы SignalR см. в следующих ресурсах:

Чтобы попробовать привязки Служба SignalR для Функции Azure, см. следующие сведения: