Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба "Сетка событий Azure" позволяет клиентам телеметрии очереди сообщений взаимодействовать друг с другом и службами Azure для поддержки решений Интернета вещей (IoT). Для выполнения следующих сценариев можно использовать функцию брокера MQTT сетки событий. Примеры кода, демонстрирующие эти сценарии, см. в этом репозитории.
- Прием данных телеметрии с помощью шаблона обмена сообщениями "многие ко одному". Этот шаблон позволяет приложению выгрузить нагрузку на управление большим количеством подключений с устройствами в Сетку событий.
- Управляйте клиентами MQTT с помощью шаблона обмена сообщениями "один к одному". Этот шаблон позволяет любому клиенту взаимодействовать с любым другим клиентом без ограничений независимо от ролей клиентов.
- Трансляция оповещений в парк клиентов с помощью шаблона обмена сообщениями "один ко многим". Этот шаблон позволяет приложению публиковать только одно сообщение, которое служба реплицирует для каждого интересующего клиента.
- Интеграция данных из клиентов MQTT путем маршрутизации сообщений MQTT в службы Azure и веб-перехватчики с помощью функции доставки push-отправки HTTP. Эту интеграцию с службами Azure можно использовать для создания конвейеров данных, которые начинаются с приема данных с устройств Интернета вещей.
Брокер MQTT идеально подходит для реализации автомобильных, мобильных и производственных сценариев, среди прочего. Чтобы узнать, как создавать безопасные и масштабируемые решения для подключения миллионов клиентов MQTT к облаку с помощью служб обмена сообщениями Azure и аналитики данных, см. эталонные архитектуры автомобильной ипроизводственной эталонной архитектуры.
Основные понятия
В функции брокера MQTT сетки событий участвуют следующие основные понятия.
Протокол передачи телеметрических сообщений MQTT
MQTT — это протокол транспорта обмена сообщениями с подпиской на публикацию, предназначенный для ограниченных сред. Это популярный стандарт коммуникации для сценариев Интернета вещей из-за эффективности, масштабируемости и надежности. Брокер MQTT позволяет клиентам публиковать и подписываться на сообщения через MQTT версии 3.1.1, MQTT версии 3.1.1 через WebSocket, MQTT v5 и MQTT v5 по WebSocket. В следующем списке показаны некоторые основные моменты функции брокера MQTT:
Возможности MQTT версии 5:
- Последнее завещание: уведомляет клиентов MQTT о резком отключении других клиентов MQTT. Эту функцию можно использовать для обеспечения предсказуемого и надежного потока обмена данными между клиентами MQTT во время непредвиденных отключений.
- Свойства пользователя: позволяет добавлять в заголовок сообщения пары пользовательских ключей и значений, чтобы предоставить больше контекста о сообщении. Например, включите назначение или источник сообщения, чтобы получатель смог эффективно обрабатывать сообщение.
- Шаблон ответа на запрос: позволяет клиентам воспользоваться стандартным асинхронным шаблоном ответа на запрос, указав раздел ответа и идентификатор корреляции в запросе клиента, чтобы он ответил без предварительной настройки.
- Интервал истечения срока действия сообщения: позволяет объявлять брокеру MQTT, если игнорировать сообщение, которое больше не относится или недопустимо. Примеры включают игнорировать устаревшие команды или оповещения.
- Псевдонимы раздела: помогает клиентам уменьшить размер поля раздела, что делает передачу данных менее дорогой.
- Максимальный размер сообщения: позволяет клиентам управлять максимальным размером сообщений, которые они могут обрабатывать с сервера.
- Максимальное получение: позволяет клиентам управлять скоростью сообщений в зависимости от их возможностей, таких как скорость обработки или возможности хранения.
- Очистка срока действия и истечения срока действия сеанса. Позволяет клиентам оптимизировать надежность и безопасность сеанса, сохраняя сведения о подписке и сообщения клиента для настраиваемого интервала времени.
- Отрицательные подтверждения: позволяет клиентам эффективно реагировать на различные коды ошибок.
- Пакеты отключения от сервера: позволяет клиентам эффективно обрабатывать отключения.
- MQTT Сохранить: гарантирует, что брокер сохраняет последнее опубликованное сообщение в теме и автоматически передает его всем новым подписчикам. Эта функция позволяет устройствам мгновенно получать последнее известное состояние без ожидания следующего обновления. Эта возможность обеспечивает более быструю и надежную синхронизацию состояний в системах Интернета вещей.
Возможности MQTT версии 3.1.1:
- Последнее завещание: уведомляет клиентов MQTT о резком отключении других клиентов MQTT. Эту функцию можно использовать для обеспечения предсказуемого и надежного потока обмена данными между клиентами MQTT во время непредвиденных отключений.
- Постоянные сеансы: обеспечивает надежность, сохраняя сведения о подписке и сообщения клиента при отключении клиента.
- Качество обслуживания (QoS) 0 и 1. Обеспечивает клиентам контроль над эффективностью и надежностью связи.
- MQTT Сохранить: гарантирует, что брокер сохраняет последнее опубликованное сообщение в теме и автоматически передает его всем новым подписчикам. Эта функция позволяет устройствам мгновенно получать последнее известное состояние без ожидания следующего обновления. Эта возможность обеспечивает более быструю и надежную синхронизацию состояний в системах Интернета вещей.
В следующих разделах описываются текущие различия между функциями, поддерживаемыми брокером MQTT и спецификациями MQTT версии 5. QoS 2 не поддерживается.
Дополнительные сведения о брокере MQTT и текущих ограничениях.
Модель обмена сообщениями для публикации и подписки
Модель обмена сообщениями типа публикация-подписка обеспечивает масштабируемую и асинхронную связь с клиентами. Это позволяет клиентам выгрузить нагрузку на обработку большого количества подключений и сообщений в службу. С помощью модели обмена сообщениями публикации и подписки клиенты могут эффективно взаимодействовать с помощью шаблонов обмена сообщениями "один ко многим", "многие к одному" и "один к одному":
- Один ко многим: позволяет клиентам публиковать только одно сообщение, которое служба реплицирует для каждого интересующего клиента.
- Многие к одному: позволяет клиентам выгружать нагрузку на управление большим количеством подключений к брокеру MQTT.
- Один к одному: позволяет любому клиенту взаимодействовать с любым другим клиентом без ограничений независимо от ролей клиентов.
Пространство имен
Пространство имен Сетки событий — это контейнер управления для ресурсов, поддерживающих функциональные возможности брокера MQTT, а также ресурсы, поддерживающие функции доставки по запросу. Клиент MQTT может подключиться к брокеру MQTT и опубликовать подписку на сообщения. Брокер MQTT проверяет подлинность клиентов, разрешает запросы на публикацию и подписку и пересылает сообщения заинтересованным клиентам. Дополнительные сведения о концепции пространства имен.
Клиенты
Клиенты ссылаются на устройства Интернета вещей или приложения, которые публикуют и подписываются на сообщения MQTT.
Устройства Интернета вещей — это физические объекты, подключенные к Интернету для передачи данных телеметрии и получения команд. Эти устройства являются датчиками, устройствами, компьютерами или другими объектами, оснащенными внедренными датчиками и программным обеспечением. Датчики и программное обеспечение позволяют им взаимодействовать друг с другом и окружающей средой. Ценность устройств Интернета вещей заключается в их способности предоставлять данные и аналитические сведения в режиме реального времени, что позволяет предприятиям и отдельным лицам принимать обоснованные решения и повысить эффективность и производительность.
Приложения Интернета вещей — это программное обеспечение, предназначенное для взаимодействия и обработки данных с устройств Интернета вещей. Обычно они включают такие компоненты, как сбор данных, обработка, хранение, визуализация и аналитика. Эти приложения позволяют пользователям отслеживать подключенные устройства и управлять ими, автоматизировать задачи и получать аналитические сведения от данных, созданных устройствами Интернета вещей.
Аутентификация клиента
Служба "Сетка событий" содержит реестр клиентов, в который хранятся сведения о клиентах, разрешенных для подключения к нему. Прежде чем клиент сможет подключиться, в реестре клиентов должна быть запись. Как клиент подключается к брокеру MQTT, он должен пройти проверку подлинности с помощью брокера MQTT на основе учетных данных, хранящихся в реестре удостоверений. Брокер MQTT поддерживает следующие механизмы проверки подлинности клиента:
- Проверка подлинности сертификата X.509 является стандартом проверки подлинности отрасли на устройствах Интернета вещей.
- Проверка подлинности Идентификатора Microsoft Entra — это стандарт проверки подлинности Azure для приложений. Дополнительные сведения о проверке подлинности клиента MQTT.
- Гибкие проверки подлинности:
- Проверка подлинности веб-маркера JSON (JWT) OAuth 2.0 обеспечивает упрощенный, безопасный и гибкий вариант для клиентов MQTT, которые не подготовлены в Azure.
- Настраиваемая проверка подлинности веб-перехватчика позволяет внешним конечным точкам HTTP (веб-перехватчикам) динамически проверять подлинность подключений MQTT. Он использует проверку JWT идентификатора Microsoft Entra для обеспечения безопасного доступа.
Управление доступом
Управление доступом критически важно для сценариев Интернета вещей, учитывая огромный масштаб сред Интернета вещей и уникальные проблемы безопасности ограниченных устройств. Служба "Сетка событий" обеспечивает управление доступом на основе ролей с помощью гибкой модели управления доступом, которую можно использовать для управления авторизацией клиентов для публикации или подписки на разделы.
С огромным масштабом сред Интернета вещей, назначение разрешений для каждого клиента для каждого раздела невероятно емко. Гибкий контроль доступа сетки событий решает эту масштабируемую задачу путем группировки клиентов и тем в группы клиентов и пробелы тем. После создания клиентских групп и пространств разделов можно настроить привязку разрешений для предоставления доступа к группе клиентов для публикации или подписки на пространство тем.
Пространства разделов также обеспечивают детализированный контроль доступа, позволяя управлять авторизацией каждого клиента в группе клиентов для публикации или подписки на свой собственный раздел. Это детализированное управление доступом достигается с помощью переменных в шаблонах разделов. Дополнительные сведения об управлении доступом.
Маршрутизация
С помощью сетки событий можно направлять сообщения MQTT в службы Azure или веб-перехватчики для дальнейшей обработки. Соответственно, можно создавать комплексные решения с помощью данных Интернета вещей для анализа данных, хранения и визуализаций, среди других вариантов использования. Используя конфигурацию маршрутизации, вы можете отправлять все сообщения MQTT от клиентов в раздел пространства имен сетки событий или настраиваемый раздел сетки событий. После того как сообщения находятся в разделе, вы можете настроить подписку на события для использования сообщений из раздела. Например, с помощью этой функции можно использовать Сетку событий для маршрутизации телеметрии с устройств Интернета вещей в Центры событий, а затем в Azure Stream Analytics для получения аналитических сведений от телеметрии устройства. Дополнительные сведения о маршрутизации.
События MQTT для потоков событий Microsoft Fabric (предварительная версия)
Маршрутизация сообщений MQTT и облачных событий из пространства имен Сетки событий в потоки событий Microsoft Fabric для аналитики, хранения и визуализации данных Интернета вещей в режиме реального времени.
Интеграция брокера MQTT Edge
Служба "Сетка событий" интегрируется с операциями Интернета вещей Azure для моста с возможностями брокера MQTT MQTT в пограничном регионе с функцией брокера MQTT сетки событий в облаке. Операции Интернета вещей Azure предоставляют новый распределенный брокер MQTT для пограничных вычислений, работающих в кластерах Kubernetes с поддержкой Azure Arc. Он может подключаться к брокеру MQTT Сетки событий с проверкой подлинности Идентификатора Microsoft Entra с помощью управляемого удостоверения, назначаемого системой, что упрощает управление учетными данными. Брокер MQTT обеспечивает высокий уровень доступности, масштабируемость и безопасность для устройств и приложений Интернета вещей. Дополнительные сведения о подключении брокера MQTT операций Интернета вещей Azure к брокеру MQTT сетки событий.
События жизненного цикла клиента MQTT
События жизненного цикла клиента позволяют приложениям реагировать на события о состоянии подключения клиента или операциях ресурсов клиента. Вы можете отслеживать состояние подключения клиента, реагировать на действия по устранению рисков для отключений клиентов и отслеживать пространство имен, к которому подключены клиенты во время автоматической отработки отказа. Дополнительные сведения о событиях жизненного цикла клиента MQTT.
Пользовательские доменные имена
Поддержка пользовательских доменных имен позволяет пользователям назначать собственные доменные имена конечным точкам пространства имен Сетки событий MQTT и HTTP, что повышает безопасность и упрощает настройку клиента. Эта функция помогает предприятиям соответствовать требованиям к безопасности и соответствию требованиям и устраняет необходимость изменения клиентов, уже связанных с доменом. Назначение имени личного домена нескольким пространствам имен также может помочь повысить доступность, управлять емкостью и обрабатывать мобильность клиентов между регионами. Дополнительные сведения о пользовательских доменных именах.
Сохранение MQTT (предварительная версия)
Сохраненное сообщение MQTT используется для хранения последнего известного хорошего значения темы брокера, гарантируя, что новые подписчики немедленно получают последнее сообщение, не ожидая следующей публикации. Эта возможность особенно полезна в таких сценариях, как отчеты о состоянии устройства, сигналы управления или данные конфигурации, в которых последнее сообщение всегда должно быть доступно клиентам при подключении. Дополнительные сведения см. в статье MQTT Сохранить поддержку в службе "Сетка событий Azure".
Публикация HTTP (предварительная версия)
Http Publish позволяет приложениям публиковать сообщения MQTT в брокер MQTT сетки событий через простой HTTPS-запрос POST без поддержания активного сеанса MQTT. Лучше всего подходит для сценариев, когда клиенты MQTT не являются возможными или необходимыми, например бессерверными функциями, облачными службами или внутренними приложениями. Http Publish позволяет архитектуре, управляемой событиями, внедрять сообщения MQTT надежно и безопасно. Распространенные варианты использования включают публикацию команд устройства, оповещений или сигналов управления из Функций Azure, Azure Logic Apps или интеграции API. Дополнительные сведения см. в статье HTTP Publish of MQTT messages in Azure Event Grid.
Основные понятия
Дополнительные сведения о концепциях брокера MQTT в службе "Сетка событий":
- Терминология
- Проверка подлинности клиента
- Управление доступом
- Поддержка протокола MQTT
- Маршрутизация сообщений MQTT
- События жизненного цикла клиента MQTT
Связанный контент
Дополнительные сведения о брокере MQTT и его основных понятиях: