Приложения в режиме реального времени с Служба 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, а вскоре и с большим количеством языков.
Пример сценария
Использование Функции Azure для интеграции с Azure Cosmos DB — это пример использования привязок Служба SignalR для отправки сообщений в режиме реального времени при появлении новых событий в канале изменений Azure Cosmos DB.
- Изменение выполняется в коллекции Azure Cosmos DB.
- Событие изменения распространяется на канал изменений Azure Cosmos DB.
- Триггер Azure Cosmos DB активирует функцию Azure в ответ на событие изменения.
- Выходная привязка Служба SignalR публикует сообщение в Служба SignalR.
- Служба SignalR публикует сообщение всем подключенным клиентам.
Проверка подлинности и пользователи
Служба SignalR позволяет транслировать сообщения всем или подмножествам клиентов, таким как те, которые принадлежат одному пользователю. Вы можете объединить привязки Служба SignalR для Функции Azure с проверкой подлинности Служба приложений для проверки подлинности пользователей с помощью таких поставщиков, как Идентификатор Microsoft Entra, Facebook и X. Затем вы можете отправлять сообщения непосредственно этим пользователям, прошедшим проверку подлинности.
Следующие шаги
Полные сведения об использовании Функций Azure и службы SignalR см. в следующих ресурсах:
- Разработка и настройка Функций Azure с помощью Службы SignalR
- Включение автоматических обновлений в веб-приложении с помощью Функции Azure и Служба SignalR
Чтобы попробовать привязки Служба SignalR для Функции Azure, см. следующие сведения:
- Quickstart: Create a chat room with Azure Functions and SignalR Service using C# (Создание чат-комнаты с помощью служб "Функции Azure" и SignalR с использованием C#)
- Quickstart: Create a chat room with Azure Functions and SignalR Service using JavaScript (Создание чат-комнаты с помощью служб "Функции Azure" и SignalR с использованием JavaScript)
- Включение автоматических обновлений в веб-приложении с помощью Функции Azure и Служба SignalR.