Partager via


Présentation de la fonctionnalité MQTT broker dans Azure Event Grid

Azure Event Grid permet à vos clients MQTT (Message Queuing Telemetry Transport) de communiquer entre eux et avec les services Azure pour prendre en charge vos solutions IoT (Internet des objets). Vous pouvez accomplir les scénarios suivants à l’aide de la fonctionnalité MQTT broker Event Grid. Pour obtenir des exemples de code qui illustrent ces scénarios, consultez ce dépôt.

  • Ingérez des données de télémétrie à l’aide d’un modèle de messagerie plusieurs-à-un. Ce modèle permet à l’application de partager la charge de gestion du nombre élevé de connexions à des appareils à Event Grid.
  • Contrôlez vos clients MQTT à l’aide du modèle de messagerie de requête-réponse (un-à-un). Ce modèle permet à n’importe quel client de communiquer avec n’importe quel autre client sans restriction, quels que soient les rôles des clients.
  • Diffusez des alertes auprès d’une flotte de clients à l’aide du modèle de messagerie un-à-plusieurs. Ce modèle permet à l’application de publier un seul message que le service réplique pour chaque client intéressé.
  • Intégrez les données de vos clients MQTT en acheminant les messages MQTT vers les services Azure et les webhooks au moyen de la fonctionnalité de remise HTTP Push. Cette intégration avec les services Azure vous permet de créer des pipelines de données qui commencent par l’ingestion des données à partir de vos appareils IoT.

La fonctionnalité MQTT broker est idéale pour l’implémentation de scénarios liés aux secteurs de l’automobile et de la mobilité et à l’industrie, entre autres. Pour découvrir comment créer des solutions sécurisées et évolutives pour connecter des millions de clients MQTT au cloud à l’aide des services Azure de messagerie et d’analytique données, consultez les architectures de référence liés au secteur automobile et à l’industrie.

Diagramme de haut niveau d’Event Grid qui montre la communication MQTT bidirectionnelle avec les clients d’éditeur et d’abonnés.

Concepts clés

Les concepts clés suivants sont impliqués dans la fonctionnalité MQTT broker Event Grid.

MQTT

MQTT est un protocole de transport de messagerie publication-abonnement conçu pour les environnements contraints. Il s’agit d’une norme de communication populaire pour les scénarios IoT en raison de son efficacité, sa scalabilité et sa fiabilité. La fonctionnalité MQTT broker permet aux clients de publier et de s’abonner à des messages sur MQTT v3.1.1, MQTT v3.1.1 sur WebSocket, MQTT v5 et MQTT v5 sur WebSocket. La liste suivante présente certains des points clés des fonctionnalités de la fonctionnalité MQTT broker :

  • Fonctionnalités de MQTT v5 :

    • Last Will and Testament : avertit vos clients MQTT des déconnexions abruptes d’autres clients MQTT. Cette fonctionnalité vous permet de garantir un flux de communication prévisible et fiable entre les clients MQTT lors de déconnexions inattendues.
    • Propriétés utilisateur : vous permet d’ajouter des paires clé/valeur personnalisées dans l’en-tête de message pour fournir davantage de contexte sur le message. Par exemple, incluez l’objectif ou l’origine du message afin que le destinataire puisse le gérer efficacement.
    • Modèle requête-réponse : permet à vos clients de tirer parti du modèle asynchrone requête-réponse standard, en spécifiant la rubrique de réponse et l’ID de corrélation dans la requête afin que le client réponde sans configuration préalable.
    • Intervalle d’expiration d’un message : vous permet d’indiquer à MQTT broker quand il faut ignorer un message qui n’est plus pertinent ou valide. Parmi les exemples figurent l’ignorance des commandes ou alertes obsolètes.
    • Alias de rubrique : aide vos clients à réduire la taille du champ Rubrique, ce qui rend le transfert de données moins coûteux.
    • Taille maximale des messages : permet à vos clients de contrôler la taille maximale des messages qu’ils peuvent gérer à partir du serveur.
    • Maximum de réception : permet à vos clients de contrôler le débit des messages en fonction de leurs fonctionnalités, comme la vitesse de traitement ou les fonctionnalités de stockage.
    • Démarrage et expiration de session propres : permet à vos clients d’optimiser la fiabilité et la sécurité de la session en préservant les informations et les messages d’abonnement du client pour un intervalle de temps configurable.
    • Accusés de réception négatifs : permet à vos clients de réagir efficacement à différents codes d’erreur.
    • Paquets de déconnexion envoyés par le serveur : permet à vos clients de gérer efficacement les déconnexions.
    • MQTT Retain : garantit que la fonctionnalité MQTT broker stocke le message publié le plus récemment sur une rubrique et le remet automatiquement aux nouveaux abonnés. Cette fonctionnalité permet aux appareils de recevoir instantanément l’état connu le plus récent sans attendre la prochaine mise à jour. Cette fonctionnalité permet une synchronisation d’état plus rapide et plus fiable sur l’ensemble des systèmes IoT.
  • Fonctionnalités de MQTT v3.1.1 :

    • Last Will and Testament : avertit vos clients MQTT des déconnexions abruptes d’autres clients MQTT. Cette fonctionnalité vous permet de garantir un flux de communication prévisible et fiable entre les clients MQTT lors de déconnexions inattendues.
    • Sessions persistantes : garantit la fiabilité en préservant les informations et les messages d’abonnement du client lorsqu’il se déconnecte.
    • Qualité de service (QoS) 0 et 1 : fournit à vos clients un contrôle sur l’efficacité et la fiabilité de la communication.
    • MQTT Retain : garantit que la fonctionnalité MQTT broker stocke le message publié le plus récemment sur une rubrique et le remet automatiquement aux nouveaux abonnés. Cette fonctionnalité permet aux appareils de recevoir instantanément l’état connu le plus récent sans attendre la prochaine mise à jour. Cette fonctionnalité permet une synchronisation d’état plus rapide et plus fiable sur l’ensemble des systèmes IoT.

Les sections suivantes décrivent les différences actuelles entre les fonctionnalités prises en charge par MQTT broker et les spécifications MQTT v5. QoS 2 n’est pas pris en charge.

En savoir plus sur MQTT broker et les limitations actuelles

Modèle de messagerie publication-abonnement

Le modèle de messagerie publication-abonnement fournit une communication évolutive et asynchrone aux clients. Il permet aux clients de partager la charge de la gestion d’un nombre élevé de connexions et de messages au service. Grâce au modèle de messagerie publication-abonnement, vos clients peuvent communiquer efficacement à l’aide de modèles de messagerie un-à-plusieurs, plusieurs-à-un et un-à-un :

  • Un-à-plusieurs : permet aux clients de publier un seul message que le service réplique pour chaque client intéressé.
  • Plusieurs-à-un : permet aux clients de décharger le fardeau de la gestion du nombre élevé de connexions sur MQTT broker.
  • Un-à-un : permet à tout client de communiquer avec tout autre client sans restrictions, quels que soient les rôles des clients.

Espace de noms

Un espace de noms Event Grid est un conteneur de gestion pour les ressources qui prennent en charge la fonctionnalité MQTT broker, ainsi que les ressources qui prennent en charge la fonctionnalité de remise pull. Votre client MQTT peut se connecter à MQTT broker et publier-s’abonner à des messages. MQTT broker authentifie vos clients, autorise les demandes de publication-d’abonnement et transfère les messages aux clients intéressés. En savoir plus sur le concept d’espace de noms

Clients

Les clients font référence aux appareils ou applications IoT qui publient des messages MQTT et s’y abonnent.

Les appareils IoT sont des objets physiques connectés à Internet pour transmettre des données de télémétrie et recevoir des commandes. Ces appareils sont des capteurs, des appliances, des machines ou d’autres objets équipés de capteurs incorporés et de logiciels. Les capteurs et les logiciels leur permettent de communiquer et d’interagir entre eux et l’environnement qui les entoure. La valeur des appareils IoT réside dans leur capacité à fournir des données et insights en temps réel, ce qui permet aux entreprises et aux individus de prendre des décisions éclairées et d’améliorer l’efficacité et la productivité.

Les applications IoT sont des logiciels conçus pour interagir avec des appareils IoT et les traiter. Ils incluent généralement des composants tels que la collecte de données, le traitement, le stockage, la visualisation et l’analytique. Ces applications permettent aux utilisateurs de surveiller et de contrôler les appareils connectés, d’automatiser les tâches et d’obtenir un aperçu à partir des données générées par les appareils IoT.

Authentification client

Event Grid dispose d’un registre de clients qui stocke des informations sur les clients autorisés à s’y connecter. Pour qu’un client puisse se connecter, il doit y avoir une entrée pour ce client dans le registre du client. Lorsqu’un client se connecte à la fonctionnalité MQTT broker, il doit s’authentifier auprès d’elle en fonction des informations d’identification stockées dans le registre des identités. MQTT broker prend en charge les mécanismes d’authentification client suivants :

Contrôle d’accès

Le contrôle d’accès est essentiel pour les scénarios IoT compte tenu de l’immensité de l’échelle des environnements IoT et des défis de sécurité uniques des appareils contraints. Event Grid fournit un contrôle d’accès en fonction du rôle au moyen d’un modèle de contrôle d’accès flexible vous permettant de gérer l’autorisation des clients à publier ou s’abonner à des rubriques.

Avec l’énorme échelle des environnements IoT, l’affectation d’autorisations pour chaque client et chaque rubrique est incroyablement fastidieuse. Le contrôle d’accès flexible d’Event Grid relève ce défi de mise à l’échelle au moyen du regroupement de clients et de rubriques dans des groupes de clients et des espaces de rubriques. Après avoir créé des groupes de clients et des espaces de rubriques, vous pouvez configurer une liaison d’autorisation pour accorder l’accès à un groupe de clients afin de publier ou s’abonner à un espace de rubriques.

Schéma illustrant le modèle de contrôle d’accès de la fonctionnalité MQTT broker Event Grid.

Les espaces de rubrique fournissent également un contrôle d’accès granulaire en vous permettant de contrôler l’autorisation de chaque client au sein d’un groupe de clients pour publier ou s’abonner à sa propre rubrique. Ce contrôle d’accès granulaire est obtenu à l’aide de variables dans les modèles de rubrique. En savoir plus sur le contrôle d’accès

Routage

Avec Event Grid, vous pouvez acheminer vos messages MQTT vers des services ou webhooks Azure pour un traitement ultérieur. Par conséquent, vous pouvez créer des solutions de bout en bout en utilisant vos données IoT pour l’analyse des données, le stockage et les visualisations, entre autres cas d’usage. À l’aide de la configuration de l’acheminement, vous pouvez envoyer tous vos messages MQTT de vos clients à une rubrique d’espace de noms Event Grid ou à une rubrique personnalisée Event Grid. Une fois les messages dans la rubrique, vous pouvez configurer un abonnement aux événements pour consommer les messages de la rubrique. Par exemple, avec cette fonctionnalité, Event Grid vous permet d’acheminer les données de télémétrie de vos appareils IoT vers Event Hubs, puis vers Azure Stream Analytics pour obtenir des insights. Découvrez plus d’informations sur le routage.

Schéma illustrant l’acheminement des messages MQTT dans Event Grid.

Événements MQTT dans les flux d’événements Microsoft Fabric

Acheminer les messages MQTT et les événements cloud d’un espace de noms Event Grid vers des Eventstreams Microsoft Fabric pour l’analyse, le stockage et la visualisation en temps réel des données IoT.

Schéma montrant comment les événements MQTT sont acheminés vers Microsoft Fabric.

Intégration de MQTT broker Edge

Event Grid s’intègre à Opérations Azure IoT pour relier sa fonctionnalité MQTT broker en périphérie à la fonctionnalité MQTT broker Event Grid dans le cloud. Opérations Azure IoT fournit une nouvelle fonctionnalité MQTT broker distribuée pour l’Edge Computing, s’exécutant sur des clusters Kubernetes avec Azure Arc. Il peut se connecter à MQTT broker Event Grid avec l’authentification Microsoft Entra ID à l’aide de l’identité managée affectée par le système, ce qui simplifie la gestion des informations d’identification. MQTT broker offre une haute disponibilité, une excellente scalabilité et une sécurité robuste pour vos appareils et applications IoT. En savoir plus sur la connexion de MQTT broker Opérations Azure IoT à MQTT broker Event Grid

Événements de cycle de vie client MQTT

Les événements de cycle de vie client permettent aux applications de réagir aux événements relatifs au statut de la connexion client ou aux opérations de ressource client. Vous pouvez suivre le statut de la connexion de votre client, réagir avec une action d’atténuation pour les déconnexions client et suivre l’espace de noms auquel vos clients sont attachés pendant les basculements automatisés. En savoir plus sur les événements de cycle de vie client MQTT

Noms de domaine personnalisés

La prise en charge des noms de domaine personnalisés permet aux utilisateurs d’affecter leurs propres noms de domaine aux points de terminaison MQTT et HTTP de l’espace de noms Event Grid, ce qui renforce la sécurité et simplifie la configuration client. Cette fonctionnalité aide les entreprises à répondre à leurs besoins de sécurité et de conformité et élimine la nécessité de modifier les clients déjà liés au domaine. L’affectation d’un nom de domaine personnalisé à plusieurs espaces de noms permet également d’améliorer la disponibilité et de gérer la capacité et la mobilité client interrégionale. En savoir plus sur les noms de domaine personnalisés

Rétention MQTT

Un message conservé MQTT permet de stocker la dernière valeur correcte connue d’une rubrique sur MQTT broker, ce qui garantit que les nouveaux abonnés reçoivent immédiatement le message le plus récent sans attendre la publication suivante. Cette fonctionnalité est particulièrement utile dans des scénarios tels que le reporting sur l’état des appareils, les signaux de contrôle ou les données de configuration où le message le plus récent doit toujours être à la disposition des clients lors de la connexion. Pour en savoir plus, consultez Prise en charge de MQTT Retain dans Azure Event Grid.

Publication HTTP

La publication HTTP permet aux applications de publier des messages MQTT sur MQTT broker Event Grid au moyen d’une requête HTTPS POST simple, sans conserver une session MQTT active. Elle est idéale pour les scénarios où les clients MQTT ne sont pas réalisables ou nécessaires, comme les fonctions serverless, les services cloud ou les applications back-end. La publication HTTP permet aux architectures pilotées par les événements d’injecter des messages MQTT de manière fiable et sécurisée. Les cas d’utilisation courants incluent la publication de commandes d’appareil, d’alertes ou de signaux de contrôle à partir d’Azure Functions, d’Azure Logic Apps ou d’intégrations d’API. Pour en savoir plus, consultez Publication HTTP de messages MQTT dans Azure Event Grid.

Les concepts

En savoir plus sur les concepts de MQTT broker dans Event Grid :

En savoir plus sur MQTT broker et ses principaux concepts :