Поделиться через


Что такое сетка событий Azure?

Сетка событий Azure — это полностью масштабируемая полностью управляемая служба распространения сообщений Pub Sub, которая предлагает гибкие шаблоны потребления сообщений с помощью протоколов MQTT и HTTP. С помощью Сетка событий Azure можно создавать конвейеры данных с данными устройства, интегрировать приложения и создавать бессерверные архитектуры на основе событий. Сетка событий позволяет клиентам публиковать и подписываться на сообщения по протоколам MQTT версии 3.1.1 и версии 5.0 для поддержки решений Интернета вещей (IoT). С помощью ПРОТОКОЛА HTTP сетка событий позволяет создавать решения на основе событий, в которых служба издателя объявляет об изменениях состояния системы (события) для приложений подписчиков. Сетка событий может быть настроена для отправки событий подписчикам (принудительной доставке) или подписчикам можно подключиться к сетке событий для чтения событий (доставки по запросу). Служба "Сетка событий" поддерживает спецификацию CloudEvents 1.0 для обеспечения взаимодействия между системами.

Высокоуровневая схема сетки событий, показывающая издателей и подписчиков с помощью протоколов MQTT и HTTP.

Сетка событий Azure — это общедоступная служба, развернутая в зонах доступности во всех регионах, поддерживающих их. Список регионов, поддерживаемых сеткой событий, см. в разделе "Продукты", доступные по регионам.

Обзор

Сетка событий Azure используется на разных этапах конвейеров данных для достижения разнообразных целей интеграции.

Обмен сообщениями MQTT. Устройства и приложения Интернета вещей могут взаимодействовать друг с другом по протоколу MQTT. Сетка событий также может использоваться для маршрутизации сообщений MQTT в службы Azure или пользовательские конечные точки для дальнейшего анализа данных, визуализации или хранилища. Эта интеграция со службами Azure позволяет создавать конвейеры данных, начинающиеся с приема данных с устройств Интернета вещей.

Распределение данных с помощью режимов отправки и извлечения. В любой момент в конвейере данных HTTP-приложения могут использовать сообщения с помощью API отправки или извлечения. Источник данных может включать данные клиентов MQTT, но также включает следующие источники данных, которые отправляют события по протоколу HTTP:

  • Службы Azure;
  • Пользовательские приложения
  • Системы внешнего партнера (SaaS)

Механизм принудительной доставки Сетки событий отправляет данные в места назначения, которые включают собственные веб-перехватчики приложений и службы Azure.

Возможности

Сетка событий предлагает богатую смесь функций. К этим функциям относятся:

Обмен сообщениями MQTT

  • Поддержка MQTT версии 3.1.1 и MQTT версии 5.0. Используйте любую клиентную библиотеку MQTT открытый код для взаимодействия со службой.
  • Пользовательские разделы с поддержкой подстановочных знаков— использование собственной структуры тем.
  • Модель обмена сообщениями о публикации и подписке. Эффективное взаимодействие с использованием шаблонов обмена сообщениями "один ко многим", "многие ко многим" и "один к одному".
  • Встроенная облачная интеграция. Маршрутизация сообщений MQTT в службы Azure или пользовательские веб-перехватчики для дальнейшей обработки.
  • Гибкая и детализированная модель управления доступом — группирование клиентов и разделов для упрощения управления доступом и использование поддержки переменных в шаблонах разделов для точного управления доступом.
  • Методы - проверки подлинности брокера MQTT X.509 — это стандарт проверки подлинности в отрасли на устройствах Интернета вещей, Microsoft Entra IDauthentication — это стандарт проверки подлинности Azure для приложений и проверки подлинности OAuth 2.0 (JSON Web Token) — это упрощенный, безопасный и гибкий вариант для клиентов MQTT, которые не подготовлены в Azure.
  • Поддержка TLS 1.2 и TLS 1.3 . Защита взаимодействия клиента с помощью надежных протоколов шифрования.
  • Поддержка нескольких сеансов— подключение приложений к нескольким активным сеансам для обеспечения надежности и масштабируемости.
  • MQTT через WebSockets — включение подключения для клиентов в средах, ограниченных брандмауэром.
  • Пользовательские доменные имена . Позволяет пользователям назначать собственные доменные имена конечным точкам пространства имен Сетки событий MQTT, повышая безопасность и упрощая настройку клиента.
  • События жизненного цикла клиента— позволяют приложениям реагировать на события о состоянии подключения клиента или операциях ресурсов клиента.

Обмен сообщениями о событиях (HTTP)

  • Гибкая модель потребления событий — при использовании HTTP используют события с помощью режима извлечения или отправки.
  • Системные события — быстрое выполнение со встроенными событиями службы Azure.
  • Собственные события приложения— используйте сетку событий для маршрутизации, фильтрации и надежной доставки пользовательских событий из приложения.
  • События партнеров— подписываться на события поставщика SaaS партнера и обрабатывать их в Azure.
  • Расширенная фильтрация— фильтрация по типу события или другим атрибутам события, чтобы убедиться, что обработчики событий или приложения-получатели получают только соответствующие события.
  • Надежность — функция принудительной доставки обеспечивает механизм повторных попыток в 24 часа с экспоненциальным обратным выходом, чтобы убедиться, что события доставляются. Если вы используете доставку по запросу, приложение имеет полный контроль над потреблением событий.
  • Высокая пропускная способность — создание интегрированных решений с помощью сетки событий.
  • Пользовательские доменные имена — позволяет пользователям назначать собственные доменные имена конечным точкам пространства имен Сетки событий, повышая безопасность и упрощая настройку клиента.

Примечание.

Что касается tls 1.0/ 1.1, нерекомендуемого: для системных разделов необходимо принять меры только для доставки событий в назначения веб-перехватчика. Если назначение поддерживает TLS 1.2, доставка событий происходит с помощью версии 1.2. Если назначение не поддерживает TLS 1.2, доставка событий автоматически возвращается к версии 1.0 и 1.1. После 1 марта 2025 г. доставка событий с использованием версии 1.0 и 1.1 не будет поддерживаться. Убедитесь, что назначения веб-перехватчика поддерживают TLS 1.2. Одним из простых способов проверки поддержки TLS 1.2 является использование Лабораторий SSL Qualys. Если в отчете показано, что протокол TLS 1.2 поддерживается, действие не требуется. Дополнительные сведения см. в следующей записи блога: Выход на пенсию: предстоящие изменения TLS для Сетка событий Azure

Случаи использования

Сетка событий поддерживает следующие варианты использования:

Обмен сообщениями MQTT

Сетка событий позволяет клиентам взаимодействовать с пользовательскими именами разделов MQTT с помощью модели обмена сообщениями публикации и подписки. Сетка событий поддерживает клиенты, которые публикуют и подписываются на сообщения через MQTT версии 3.1.1, MQTT версии 3.1.1 через WebSockets, MQTT v5 и MQTT версии 5 по webSockets. Сетка событий позволяет отправлять сообщения MQTT в облако для анализа данных, хранения и визуализаций, среди прочего.

Служба "Сетка событий" интегрируется с Azure IoT MQ для моста с возможностями брокера MQTT MQTT в пограничном регионе с возможностями брокера MQTT сетки событий в облаке. Azure IoT MQ — это новый распределенный брокер MQTT для пограничных вычислений, работающий в кластерах Kubernetes с поддержкой Arc. Теперь она доступна в общедоступной предварительной версии в рамках операций Интернета вещей Azure.

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

Высокоуровневая схема сетки событий, показывающая двунаправленное взаимодействие MQTT с клиентами издателя и подписчика.

компонент брокера MQTT Сетка событий Azure позволяет выполнять следующие сценарии.

Прием данных телеметрии Интернета вещей

Высокоуровневая схема сетки событий, показывающая клиенты Интернета вещей с помощью протокола MQTT для отправки сообщений в облачное приложение.

Прием данных телеметрии с помощью шаблона обмена сообщениями "многие ко одному". Например, используйте сетку событий для отправки данных телеметрии с нескольких устройств Интернета вещей в облачное приложение. Этот шаблон позволяет приложению выгрузить нагрузку на управление большим количеством подключений с устройствами в Сетку событий.

Команды и управление

Высокоуровневая схема сетки событий, показывающая облачное приложение, отправляющее сообщение команды через MQTT на устройство с помощью разделов запросов и ответов.

Управляйте клиентами MQTT с помощью шаблона сообщения "один к одному". Например, используйте сетку событий для отправки команды из облачного приложения на устройство Интернета вещей.

Широковещательные оповещения

Высокоуровневая схема сетки событий, показывающая облачное приложение, отправляющее оповещение по MQTT на несколько устройств.

Трансляция оповещений в парк клиентов с помощью шаблона обмена сообщениями "один ко многим ". Например, используйте сетку событий для отправки оповещений из облачного приложения на несколько устройств Интернета вещей. Этот шаблон позволяет приложению публиковать только одно сообщение, которое служба реплицирует для каждого интересующего клиента.

Интеграция данных MQTT

Схема, на которой показаны несколько устройств Интернета вещей, отправляющих данные о работоспособности через MQTT в Сетку событий, а затем в Центры событий и из этой службы в Azure Stream Analytics.

Интеграция данных из клиентов MQTT путем маршрутизации сообщений MQTT в службы Azure и пользовательские конечные точки через отправку или доставку по запросу. Например, используйте сетку событий для маршрутизации данных телеметрии с устройств Интернета вещей в Центры событий, а затем в Azure Stream Analytics, чтобы получить аналитические сведения из телеметрии устройства.

Отправка событий

Сетка событий может быть настроена для отправки событий в разнообразный набор служб Azure или веб-перехватчиков с помощью доставки событий push-уведомлений. Источники событий включают пользовательские приложения, службы Azure и службы партнеров (SaaS), которые публикуют события, объявляющие изменения состояния системы (также известные как дискретные события). В свою очередь, Служба "Сетка событий" предоставляет эти события для настроенных назначений подписчиков.

Отправка push-уведомлений сетки событий позволяет реализовать следующие варианты использования.

Примечание.

Отправка push-уведомлений доступна на базовом уровне сетки событий и стандартном уровне сетки событий, чтобы узнать больше о различиях, чтобы узнать, как выбрать нужный уровень сетки событий для вашего решения.

Создание бессерверных решений на основе событий

Схема, показывая Функции Azure публикации событий в сетку событий с помощью ПРОТОКОЛА HTTP. Затем Сетка событий отправляет эти события в Azure Logic Apps.

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

Получение событий из служб Azure

Схема, показывающая события публикации хранилища BLOB-объектов в сетке событий по протоколу HTTP. Сетка событий отправляет эти события обработчикам событий, которые являются веб-перехватчиками или службами Azure.

Сетка событий может получать события из 20 служб Azure, чтобы автоматизировать операции. Например, вы можете настроить сетку событий для получения события при создании нового большого двоичного объекта в учетной записи служба хранилища Azure, чтобы подчиненное приложение могло считывать и обрабатывать его содержимое. Список всех поддерживаемых служб и событий Azure см. в разделе "Системные разделы".

Получение событий из приложений

Схема, показывая события публикации клиентских приложений в Сетке событий с помощью ПРОТОКОЛА HTTP. Служба

Ваша собственная служба или приложение публикует события в сетке событий, которая обрабатывает приложения подписчиков. Сетка событий содержит разделы пространства имен для решения требований к интеграции и маршрутизации в масштабе с помощью простой модели ресурсов. Вы также можете использовать пользовательские разделы для удовлетворения основных требований интеграции и доменов для простой модели управления и маршрутизации, когда необходимо распределить события в сотни или тысячи различных групп.

Получение событий от партнера (поставщиков SaaS)

Схема, показывающая событие публикации внешнего партнерского приложения в сетку событий с помощью HTTP. Служба

Мультитенантный поставщик или платформа SaaS может публиковать свои события в Сетке событий с помощью функции" с именем "События партнеров". Вы можете подписаться на эти события и автоматизировать задачи, например. Сейчас доступны события следующих партнеров:

Обработчики событий

Подписка на события — это универсальный ресурс конфигурации, позволяющий определить обработчик событий или назначение, в которые отправляются события с помощью принудительной доставки. Например, можно отправлять данные в веб-перехватчик, функцию Azure или Центры событий. Полный список поддерживаемых обработчиков событий см. в следующих статье:

Доставка дискретных событий

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

Получение событий в собственном темпе

Высокоуровневая схема издателя и потребительского приложения. Издатель отправляет события в Сетку событий с более высоким темпом, чем скорость потребления событий подписчика.

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

Высокоуровневая схема приложения-потребителя внутри виртуальной сети считывает события из сетки событий через частную конечную точку в виртуальной сети.

Вы можете настроить частные ссылки для подключения к Сетка событий Azure для публикации и чтения CloudEvents через частную конечную точку в виртуальной сети. Трафик между виртуальной сетью и сеткой событий передает магистральную сеть Майкрософт.

Внимание

Приватные каналы доступны с доставкой по запросу, а не с доставкой push-уведомлений. При подключении приложения к сетке событий можно использовать частные ссылки для публикации событий или получения событий, а не при подключении сетки событий к веб-перехватчику или службе Azure для доставки событий.

Регионы, в которых доступно пространство имен Сетки событий

Ниже приведен список регионов, где доступны новые функции брокера MQTT и пространства имен:

Region Region Region Region
Восточная Австралия Юго-восточная часть Австралии Центральная Австралия Центральная Австралия 2
Южная Бразилия Юго-Восточная Бразилия Центральная Канада Восточная Канада
Центральная Индия Центральная часть США Восточная Азия Восточная часть США
Восточная часть США 2 Западная часть США Центральная Франция Южная Франция
Северная Германия Центрально-Западная Германия Израиль, центральный регион Северная Италия
Восточная Япония Западная Япония Республика Корея, центральный регион Республика Корея, южный регион
Центральная Мексика Центрально-северная часть США Северная Европа Восточная Норвегия;
Центральная Польша Западная часть ЮАР Северная часть ЮАР Центрально-южная часть США
Южная Индия Юго-Восточная Азия Центральная Испания Центральная Швеция
Южная Швеция Северная Швейцария Западная Швейцария Северная часть ОАЭ;
Центральная часть ОАЭ южная часть Соединенного Королевства западная часть Соединенного Королевства Западная Европа
западная часть США 2 Западная часть США — 3 Центрально-западная часть США

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

Обмен сообщениями MQTT

Распределение данных с помощью доставки по запросу или отправке

См. также