Lire en anglais

Partager via


Qu’est-ce qu’Azure Event Grid ?

Azure Event Grid est un service de distribution de messages pub sub hautement évolutif et complètement managé qui offre des modèles de consommation de messages flexibles à l’aide des protocoles MQTT et HTTP. Avec Azure Event Grid, vous pouvez créer des pipelines de données avec des données d’appareil, intégrer des applications et générer des architectures serverless pilotées par les événements.

Event Grid permet aux clients de publier et de s’abonner à des messages via les protocoles MQTT v3.1.1 et v5.0 pour prendre en charge les solutions Internet des objets (IoT). Via HTTP, Event Grid vous permet de créer des solutions basées sur les événements où un service d’éditeur annonce ses changements d’état système (événements) pour les applications abonnées. Event Grid peut être configuré pour envoyer des événements aux abonnés (livraison push) ou les abonnés peuvent se connecter à Event Grid pour lire les événements (livraison pull). Event Grid prend en charge la spécification CloudEvents 1.0 pour assurer l’interopérabilité entre les systèmes.

Diagramme de haut niveau d’Event Grid montrant les éditeurs et les abonnés utilisant les protocoles MQTT et HTTP.

Fonctionnalités de base

Voici les deux fonctionnalités principales d’Azure Event Grid :

Messagerie MQTT. Les appareils et applications IoT peuvent communiquer entre eux via MQTT. Event Grid peut également être utilisé pour acheminer des messages MQTT vers des services Azure ou des points de terminaison personnalisés pour une analyse, une visualisation ou un stockage des données supplémentaires. Cette intégration aux services Azure vous permet de créer des pipelines de données qui commencent par l’ingestion de données à partir de vos appareils IoT.

Distribution des données à l’aide des modes de livraison push et pull. À tout moment d’un pipeline de données, les applications HTTP peuvent consommer des messages à l’aide d’API push ou pull. La source des données peut inclure les données des clients MQTT, mais également les sources de données suivantes qui envoient leurs événements via HTTP :

  • Services Azure
  • Vos applications personnalisées
  • Systèmes partenaires externes (SaaS)

Le mécanisme de livraison par envoi (push) d’Event Grid envoie des données vers des destinations qui incluent vos propres webhooks d’application et services Azure. Examinons en détail ces deux fonctionnalités :

Messagerie MQTT

Event Grid permet à vos clients de communiquer sur des noms de rubriques MQTT personnalisés à l’aide d’un modèle de messagerie de publication-abonnement. Event Grid prendre en charge les clients qui publient et s’abonnent à des messages via des MQTT v3.1.1, MQTT v3.1.1 sur WebSockets, MQTT v5 et MQTT v5 sur les protocoles WebSockets. Event Grid vous permet d’envoyer des messages MQTT au cloud pour l’analyse des données, le stockage et les visualisations, entre autres cas d’usage.

Event Grid s’intègre à Opérations Azure IoT pour créer un pont entre sa fonctionnalité d’Agent MQTT en périphérie et la fonctionnalité d’Agent MQTT d’Event Grid dans le cloud. L’Agent MQTT Azure IoT est un nouvel Agent MQTT distribué pour le computing en périphérie, qui s’exécute sur des clusters Kubernetes avec Arc. Il est désormais disponible en préversion publique dans le cadre d’Opérations Azure IoT.

La fonctionnalité MQTT broker dans Azure Event Grid est idéale pour la mise en œuvre de scénarios automobiles et de mobilité, entre autres. Consultez l’architecture de référence pour découvrir comment créer des solutions sécurisées et évolutives pour connecter des millions de véhicules au cloud, à l’aide des services de messagerie et d’analytique des données d’Azure.

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

Voici quelques points forts de la prise en charge de la messagerie MQTT dans Azure Event Grid :

  • Prise en charge de MQTT v3.1.1 et MQTT v5.0 : utilisez n’importe quelle bibliothèque cliente MQTT open source pour communiquer avec le service.
  • Rubriques personnalisées avec prise en charge des caractères génériques : utilisez votre propre structure de rubrique.
  • Modèle de messagerie publication-abonnement : communiquez efficacement à l’aide de modèles de messagerie un-à-plusieurs, plusieurs-à-un, et un-à-un.
  • Intégration cloud intégrée : acheminez vos messages MQTT vers des services Azure ou des webhooks personnalisés pour un traitement ultérieur.
  • Modèle de contrôle d’accès flexible et affiné : regroupez des clients et une rubrique pour simplifier la gestion du contrôle d’accès, et utilisez la prise en charge des variables dans les modèles de rubrique pour un contrôle d’accès affiné.
  • Méthodes d’authentification de l’Agent MQTT : l’authentification par certificat X.509 est la norme d’authentification du secteur dans les appareils IoT, l’authentification Microsoft Entra ID est la norme d’authentification d’Azure pour les applications et l’authentification OAuth 2.0 (JSON Web Token) fournit une option légère, sécurisée et flexible pour les clients MQTT qui ne sont pas approvisionnés dans Azure.
  • Prise en charge de TLS 1.2 et TLS 1.3 : sécurisez vos communications client à l’aide de protocoles de chiffrement robustes.
  • Prise en charge multisession : connectez vos applications à plusieurs sessions actives pour garantir la fiabilité et l’extensibilité.
  • MQTT sur WebSockets : activez la connectivité pour les clients dans des environnements restreints par pare-feu.
  • Noms de domaine personnalisés : permet aux utilisateurs d’attribuer leurs propres noms de domaine aux points de terminaison MQTT de l’espace de noms Event Grid, ce qui améliore la sécurité et simplifie la configuration client.
  • Événements du cycle de vie du client : permettent aux applications de réagir aux événements concernant l’état de la connexion du client ou les opérations des ressources du client.

Pour plus d’informations sur le l’Agent MQTT, consultez les articles suivants :

Messagerie d’événements (HTTP)

Event Grid prend en charge la remise d’événements push et pull à l’aide de HTTP. Avec la transmission de type push, vous définissez une destination dans un abonnement aux événements auquel Event Grid envoie des événements. Avec la livraison pull, les applications abonnées se connectent à Event Grid pour consommer des événements. La remise pull est prise en charge pour les rubriques d’un espace de noms Event Grid.

Diagramme de haut niveau montrant la livraison push-and-pull avec le type de ressources impliquées.

Gestionnaires d’événements

Dans la transmission de type push, un abonnement aux événements est une ressource de configuration générique qui vous permet de définir le gestionnaire d’événements ou la destination auquel les événements sont envoyés à l’aide de la transmission de type push. Par exemple, vous pouvez envoyer des données à un Webhook, à une fonction Azure ou à Event Hubs. Pour obtenir la liste complète des gestionnaires d’événements pris en charge, consultez :

Transmission de type envoi (push) par rapport à transmission de type tirage (pull)

Voici des instructions générales pour vous aider à décider quand utiliser la livraison par extraction ou par envoi.

Livraison par extraction

  • Vous avez besoin d’un contrôle total quant au moment où recevoir des événements. Par exemple, votre application peut ne pas fonctionner tout le temps, elle peut ne pas être assez stable ou bien vous traitez des données à certains moments.
  • Vous avez besoin d’un contrôle total sur la consommation des événements. Par exemple, un service ou une couche en aval dans votre application grand public présente un problème qui vous empêche de traiter les événements. Dans ce cas, l’API de livraison pull permet à l’application grand public de libérer un événement déjà lu sur le répartiteur afin qu’il puisse être livré ultérieurement.
  • Vous souhaitez utiliser des liaisons privées lors de la réception d’événements, ce qui n’est possible qu’avec la remise pull, et non avec la remise push.
  • Vous n’avez pas la possibilité d’exposer un point de terminaison et d’utiliser la livraison push, mais vous pouvez vous connecter à Event Grid pour consommer des événements.

Livraison push

  • Vous souhaitez éviter l’interrogation constante pour déterminer si un changement d’état système s’est produit. Vous utilisez plutôt Event Grid pour vous envoyer des événements au moment où les changements d’état se produisent.
  • Vous disposez d’une application qui ne peut pas effectuer d’appels sortants. Par exemple, l’exfiltration des données peut préoccuper votre organisation. Toutefois, votre application peut recevoir des événements via un point de terminaison public.

Voici quelques points forts du modèle HTTP :

  • Modèle de consommation d’événements flexible : lors de l’utilisation de HTTP, consommez les événements à l’aide du mode de livraison pull ou push.
  • Événements système : soyez rapidement opérationnel avec les événements de service Azure intégrés.
  • Vos propres événements d’application : utilisez Event Grid pour router, filtrer et livrer de manière fiable les événements personnalisés dans votre application.
  • Événements de partenaires : abonnez-vous aux événements de votre fournisseur SaaS partenaire et traitez-les sur Azure.
  • Filtrage avancé : filtrez le type d’événement ou d’autres attributs d’événement pour vous assurer que vos gestionnaires d’événements ou applications grand public reçoivent uniquement les événements pertinents.
  • Fiabilité : la livraison push propose un mécanisme de nouvelle tentative 24 heures sur 24 avec backoff exponentiel pour s’assurer que les événements sont remis. Si vous utilisez la livraison par tirage (pull), votre application dispose d’un contrôle total sur la consommation des événements.
  • Haut débit : créez des solutions intégrées à volume élevé avec Event Grid.
  • Noms de domaine personnalisés : permet aux utilisateurs d’attribuer leurs propres noms de domaine aux points de terminaison HTTP de l’espace de noms Event Grid, ce qui améliore la sécurité et simplifie la configuration client.

Pour plus d’informations, consultez les articles suivants :

Cas d’utilisation

Pour obtenir la liste des cas d’usage dans lesquels vous pouvez utiliser Azure Event Grid, consultez Cas d’usage

Régions prises en charge

Voici la liste des régions où les nouvelles fonctionnalités relatives au répartiteur MQTT et aux rubriques d’espace de noms sont disponibles :

Région Région Région Région
Australie Est Sud-Est de l’Australie Centre de l’Australie Centre de l’Australie 2
Brésil Sud Brésil Sud-Est Centre du Canada Est du Canada
Inde centrale USA Centre Asie Est USA Est
USA Est 2 USA Ouest France Centre France Sud
Allemagne Nord Allemagne Centre-Ouest Israël Central Italie Nord
Japon Est OuJapon Est Centre de la Corée Corée du Sud
Mexique Centre Centre-Nord des États-Unis Europe Nord Norvège Est
Pologne Centre Afrique du Sud Ouest Afrique du Sud Nord États-Unis - partie centrale méridionale
Inde Sud Asie Sud-Est Espagne Centre Suède Centre
Suède Sud Suisse Nord Suisse Ouest Émirats arabes unis Nord
Émirats arabes unis Centre Sud du Royaume-Uni Ouest du Royaume-Uni Europe Ouest
USA Ouest 2 USA Ouest 3 Centre-USA Ouest