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


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

Служба сетки событий Azure — это высокомасштабируемая и полностью управляемая служба публикации-подписки для распространения сообщений. Event Grid предлагает гибкие шаблоны потребления сообщений и использует протоколы MQTT (Message Queuing Telemetry Transport) и HTTP. С помощью сетки событий можно создавать конвейеры данных с данными устройства, интегрировать приложения и создавать бессерверные архитектуры на основе событий.

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

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

Основные возможности

Сетка событий имеет две основные функции:

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

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

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

Механизм push-доставки Event Grid отправляет данные в пункты назначения, включая собственные веб-перехватчики приложений и службы Azure. Вот посмотрите на эти две функции.

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

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

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

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

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

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

Основные сведения о поддержке обмена сообщениями MQTT в службе "Сетка событий":

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

Дополнительные сведения о брокере MQTT см. в следующих статьях:

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

Служба Event Grid поддерживает доставку событий через пуш-уведомления и запросы по протоколу HTTP. При использовании push-уведомления вы определяете назначение в подписке на события, куда Event Grid отправляет события. При пул-доставке приложения подписчиков подключаются к Event Grid для обработки событий. Поддерживается доставка по запросу для топиков в пространстве имен Event Grid.

Схема, показывающая пуш-доставку и пул-доставку с задействованными типами ресурсов.

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

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

Отправка отправки и доставка по запросу

Следующие общие рекомендации помогут вам решить, когда следует использовать доставку по запросу или пуш-доставку.

Доставка по запросу

  • Вам нужен полный контроль над тем, когда получать события. Например, ваше приложение может быть не всегда доступно или недостаточно стабильным. Вы также можете обрабатывать данные только в определенное время.
  • Вам нужен полный контроль над потреблением событий. Например, в нижестоящей службе или уровне вашего клиентского приложения могут возникнуть проблемы, которые предотвращают обработку событий. В этом случае API доставки по запросу позволяет приложению-потребителю освободить уже прочитанное событие обратно брокеру для доставки позже.
  • Вы хотите использовать частные ссылки при получении событий, что возможно только при доставке по запросу, а не при отправке push-уведомлений.
  • У вас нет возможности открыть конечную точку и использовать push-доставку, но вы можете подключиться к Event Grid для потребления событий.

Push-доставка

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

Основные сведения о модели HTTP:

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

Дополнительные сведения см. в следующих статьях:

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

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

Поддерживаемые регионы

Новые функции брокера MQTT и пространства имен доступны в следующих регионах.

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