Comparer le routage des messages et Event Grid pour IoT Hub

Azure IoT Hub permet de diffuser des données à partir de vos appareils connectés et d’intégrer ces données dans vos applications métier. IoT Hub propose deux méthodes permettant d’intégrer les événements IoT dans d’autres services Azure ou applications métier. Cet article décrit les deux fonctions qui offrent cette fonctionnalité. Vous pourrez ainsi choisir l’option qui convient le mieux à votre scénario.

Notes

Certaines des fonctionnalités mentionnées dans cet article, comme la messagerie cloud-à-appareil, les jumeaux d’appareil et la gestion des appareils, sont disponibles uniquement dans le niveau Standard d’IoT Hub. Pour plus d’informations sur les niveaux de base et standard/gratuit d’IoT Hub, consultez Choisir le niveau IoT Hub correspondant à votre solution.

Routage des messages IoT Hub : cette fonctionnalité IoT Hub permet aux utilisateurs d’acheminer les messages appareil-à-cloud vers des points de terminaison de service, tels que des conteneurs de stockage Azure, des hubs d’événements, des files d’attente Service Bus et des rubriques Service Bus. Le routage fournit également une fonctionnalité de requête pour filtrer les données avant de les router vers les points de terminaison. En plus des données de télémétrie d’appareil, vous pouvez également router des événements non liés à la télémétrie et les utiliser pour déclencher des actions.

Intégration d’IoT Hub avec Event Grid : Azure Event Grid est un service de routage d’événement entièrement géré qui utilise le modèle Publication-Abonnement. IoT Hub et Event Grid collaborent afin d’intégrer les événements IoT Hub dans les services Azure et non-Azure, quasiment en temps réel. IoT Hub publie à la fois des événements d’appareil et des événements de télémétrie.

Différences

Le routage des messages et Event Grid permettent tous deux de configurer des alertes, mais il existe entre eux des différences clés. Pour plus dé détails, consultez le tableau suivant :

Fonctionnalité Routage des messages IoT Hub Intégration d’IoT Hub avec Event Grid
Messages et événements d’appareil Oui, le routage des messages prend en charge les données de télémétrie, les changements de jumeau d’appareil, les événements de cycle de vie des appareils, les événements de changement de jumeau numérique et les événements d’état de la connexion de l’appareil. Oui, Event Grid prend en charge les données de télémétrie et les événements d’appareil comme un appareil créé/supprimé/connecté/déconnecté. Toutefois, Event Grid ne prend pas en charge les événements de changement de jumeau d’appareil et les événements de changement de jumeau numérique.
Classement Oui, le routage des messages conserve l’ordre des événements. Non, Event Grid ne garantit pas l’ordre des événements.
Filtrage Filtrage élaboré opérant sur les propriétés de l’application de messagerie, les propriétés système des messages, le corps des messages, ainsi que les étiquettes et propriétés de jumeaux d’appareil. Le filtrage n’est pas appliqué aux événements de changement de jumeau numérique. Pour obtenir des exemples, consultez Syntaxe des requêtes de routage des messages. Filtrage basé sur le type d’événement, le type de sujet et les attributs de chaque événement. Pour des exemples, voir Comprendre les événements de filtrage dans les inscriptions à Event Grid. Lors de l’abonnement à des événements de télémétrie, vous pouvez appliquer davantage de filtres sur les données pour filtrer les propriétés de message, le corps du message et le jumeau d’appareil dans votre IoT Hub, avant de publier sur Event Grid. Voir Comment filtrer les événements.
Points de terminaison
  • Event Hubs
  • Stockage Blob Azure
  • File d’attente Service Bus
  • Rubriques Service Bus
  • Cosmos DB

Les références SKU IoT Hub payantes (S1, S2 et S3) peuvent avoir 10 points de terminaison personnalisés et 100 routes par hub IoT.
  • Azure Functions
  • Azure Automation
  • Event Hubs
  • Logic Apps
  • Storage Blob
  • Rubriques personnalisées
  • Stockage File d’attente
  • Power Automate
  • Services tiers par le biais de WebHooks

Event Grid prend en charge 500 points de terminaison par hub IoT. Pour obtenir la liste la plus récente des points de terminaison, consultez Gestionnaires d’événements Event Grid.
Coût Le routage des messages n’est pas facturé séparément. Seule l’entrée de télémétrie dans IoT Hub est facturée. Par exemple, si vous avez un message routé vers trois points de terminaison différents, un seul message vous est facturé. Aucun frais IoT Hub n’est facturé. Avec Event Grid, les 100 000 premières opérations par mois sont gratuites. Ensuite, le coût est de 0,60 $ par million d’opérations par la suite.

Similitudes

Le routage des messages IoT Hub et Event Grid offrent aussi quelques similitudes, dont certaines sont détaillées dans le tableau suivant :

Fonctionnalité Routage des messages IoT Hub Intégration d’IoT Hub avec Event Grid
Taille de message maximale 256 Ko, appareil-à-cloud 256 Ko, appareil-à-cloud
Fiabilité Élevée : remet chaque message au point de terminaison au moins une fois pour chaque itinéraire. Provoque l’expiration de tous les messages qui ne sont pas remis dans l’heure. Élevée : remet chaque message au webhook au moins une fois pour chaque abonnement. Provoque l’expiration de tous les événements qui ne sont pas remis dans les 24 heures.
Extensibilité Élevée : optimisé pour prendre en charge des millions d’appareils connectés simultanément et envoyant plusieurs millions de messages. Élevée : capable d’acheminer 10 000 000 d’événements par seconde et par région.
Latence Faible : quasiment en temps réel. Faible : quasiment en temps réel.
Envoi à plusieurs points de terminaison Oui, envoi d’un message unique à plusieurs points de terminaison. Oui, envoi d’un message unique à plusieurs points de terminaison.
Sécurité Iot Hub fournit une identité par appareil et un contrôle d’accès révocable. Pour plus d’informations, consultez Contrôle d’accès IoT Hub. Event Grid fournit une validation à trois points : abonnements aux événements, publication d’événements et remise d’événements webhook. Pour en savoir plus, consultez la page Sécurité et authentification pour Event Grid.

Choix

Le routage des messages IoT Hub et l’intégration d’IoT Hub avec Event Grid effectuent différentes actions pour parvenir à des résultats similaires. Tous deux prennent des informations à partir de votre solution IoT Hub et les transmettent afin que d’autres services puissent réagir. Comment choisir entre les deux ? Posez-vous les questions suivantes quand vous prenez votre décision :

  • Quel type de données envoyez-vous aux points de terminaison ?

    Utilisez le routage des messages IoT Hub quand vous devez envoyer des données de télémétrie à d’autres services. Le routage des messages permet également l’interrogation des propriétés de l’application de messagerie, des propriétés système des messages, des corps de messages, des étiquettes et des propriétés de jumeaux d’appareil.

    L’intégration d’IoT Hub avec Event Grid fonctionne avec les événements qui se produisent dans le service IoT Hub. Ces événements IoT Hub incluent les données de télémétrie, les appareils créés, supprimés, connectés et déconnectés. Lorsque vous vous abonnez à des événements de télémétrie, vous pouvez appliquer des filtres supplémentaires sur les données pour filtrer les propriétés du message, le corps du message et le jumeau d’appareil dans votre IoT Hub, avant la publication dans Event Grid. Voir Comment filtrer les événements.

  • Quels points de terminaison doivent recevoir ces informations ?

    Le routage des messages IoT Hub prend en charge un nombre limité de points de terminaison uniques et de types de points de terminaison, mais vous pouvez créer des connecteurs pour réacheminer les données et les événements vers des points de terminaison supplémentaires. Pour obtenir une liste complète des points de terminaison pris en charge, consultez le tableau dans la section précédente.

    L’intégration d’IoT Hub avec Event Grid prend en charge 500 points de terminaison pour chaque instance IoT Hub, ainsi qu’un éventail plus large de types de point de terminaison. Il s’intègre nativement avec les Azure Functions, Logic Apps, les files d’attente de stockage et Service Bus, et fonctionne également avec des webhooks pour étendre l’envoi de données en dehors de l’écosystème de services Azure et dans des applications métier tierces.

  • Est-il important que vos données arrivent dans l’ordre ?

    Le routage des messages IoT Hub conserve l’ordre dans lequel les messages sont envoyés. Ainsi, l’ordre d’arrivée est le même.

    Event Grid ne garantit pas que les points de terminaison reçoivent les événements dans l’ordre dans lequel ils se sont produits. Dans les scénarios où le respect de l’ordre absolu des messages est important et/ou dans lesquels un consommateur a besoin de suivre les messages avec un identificateur unique fiable, nous vous recommandons d’utiliser le routage de messages.

Étapes suivantes