Teilen über


Was ist Azure Event Grid?

Azure Event Grid ist ein hochgradig skalierbarer, vollständig verwalteter Pub Sub-Nachrichtenverteilungsdienst, der flexible Nachrichtenverarbeitungsmuster mit den MQTT- und HTTP-Protokollen bietet. Mit Azure Event Grid können Sie Datenpipelines mit Gerätedaten erstellen, Anwendungen integrieren und ereignisgesteuerte serverlose Architekturen erstellen.

Event Grid ermöglicht es Clients, Nachrichten über die Protokolle MQTT v3.1.1 und v5.0 zu veröffentlichen und zu abonnieren, um IoT-Lösungen (Internet of Things) zu unterstützen. Event Grid ermöglicht Ihnen über HTTP die Erstellung ereignisgesteuerter Lösungen, bei denen ein Herausgeberdienst seine Systemzustandsänderungen (Ereignisse) an Abonnentenanwendungen ankündigt. Event Grid kann so konfiguriert werden, dass Ereignisse an Abonnenten gesendet werden (Pushübermittlung), oder Abonnenten können eine Verbindung mit Event Grid herstellen, um Ereignisse zu lesen (Pullübermittlung). Event Grid unterstützt die CloudEvents 1.0-Spezifikation, um systemübergreifende Interoperabilität bereitzustellen.

Übersichtsdiagramm von Event Grid, das Herausgeber und Abonnenten zeigt, die MQTT- und HTTP-Protokolle verwenden.

Wichtige Funktionen

Azure Event Grid bietet die beiden folgenden Hauptfeatures:

MQTT-Messaging. IoT-Geräte und -Anwendungen können über MQTT miteinander kommunizieren. Event Grid kann auch verwendet werden, um MQTT-Nachrichten zur weiteren Datenanalyse, -visualisierung oder -speicherung an Azure-Dienste oder benutzerdefinierte Endpunkte weiterzuleiten. Durch diese Integration in Azure-Dienste können Sie Datenpipelines erstellen, die mit Datenerfassung von Ihren IoT-Geräten beginnen.

Datenverteilung mithilfe der Push- und Pullübermittlungsmodi. HTTP-Anwendungen können Nachrichten an jedem Punkt in einer Datenpipeline mithilfe von Push- oder Pull-APIs nutzen. Die Quelle der Daten kann die Daten von MQTT-Clients enthalten, umfasst aber auch die folgenden Datenquellen, die ihre Ereignisse über HTTP senden:

  • Azure-Dienste
  • Ihre benutzerdefinierten Anwendungen
  • Externe Partnersysteme (SaaS)

Bei Verwendung der Pushübermittlung sendet Event Grid Daten an Ziele, zu denen Ihre eigenen Anwendungswebhooks und Azure-Dienste gehören. Sehen wir uns diese beiden Features im Detail an:

MQTT-Messaging

Event Grid ermöglicht Ihren Clients die Kommunikation mit benutzerdefinierten MQTT-Themennamen mithilfe eines Veröffentlichen/Abonnieren-Messagingmodells. Event Grid unterstützt Clients, die Nachrichten über MQTT v3.1.1, MQTT v3.1.1 über WebSockets, MQTT v5 und MQTT v5 über WebSockets veröffentlichen und abonnieren. Event Grid ermöglicht ihnen das Senden von MQTT-Nachrichten an die Cloud zur Datenanalyse, -speicherung und -visualisierung unter anderen Anwendungsfällen.

Event Grid lässt sich mit Azure IoT Einsatz integrieren, um seine MQTT-Broker-Fähigkeit am Edge mit der MQTT-Broker-Fähigkeit von Event Grid in der Cloud zu verbinden. Der Azure IoT MQTT-Broker ist ein neuer verteilter MQTT-Broker für das Edgecomputing, der auf Arc-fähigen Kubernetes-Clustern ausgeführt wird. Sie ist jetzt in der öffentlichen Vorschau als Teil von Azure IoT Operations verfügbar.

Die MQTT-Vermittler-Unterstützung in Event Grid ist unter anderem ideal für die Implementierungen in den Bereichen Automotive und Mobilität. In der Referenzarchitektur erfahren Sie, wie Sie sichere und skalierbare Lösungen für die Anbindung von Millionen von Fahrzeugen an die Cloud mit Hilfe der Messaging- und Datenanalysedienste von Azure erstellen können.

Übersicht: Event Grid mit bidirektionaler MQTT-Kommunikation mit Herausgeber- und Abonnentenclients.

Hier sind einige Highlights der Unterstützung für MQTT-Nachrichten in Azure Event Grid:

  • Unterstützung für MQTT v3.1.1 und MQTT v5.0: Verwenden Sie eine beliebige Open-Source-MQTT-Clientbibliothek, um mit dem Dienst zu kommunizieren.
  • Benutzerdefinierte Themen mit Unterstützung für Platzhalter – Nutzen Sie Ihre eigene Themenstruktur.
  • Veröffentlichen/Abonnieren-Messagingmodell: Wenden Sie eine effiziente Kommunikation mit 1:n-, n:1- und 1:1-Messagingmustern an.
  • Native Cloudintegration: Leiten Sie Ihre MQTT-Nachrichten zur weiteren Verarbeitung an Azure-Dienste oder benutzerdefinierte Webhooks weiter.
  • Flexibles und differenziertes Zugriffssteuerungsmodell: Gruppieren Sie Clients und Themen, um die Zugriffssteuerungsverwaltung zu vereinfachen, und verwenden Sie die Variablenunterstützung in Themenvorlagen für eine differenzierte Zugriffssteuerung.
  • Authentifizierungsmethoden mit MQTT-Broker: Die X.509-Zertifikatauthentifizierung stellt den Branchenstandard für die Authentifizierung von IoT-Geräten dar. Die Microsoft Entra ID-Authentifizierung ist der Authentifizierungsstandard in Azure für Anwendungen, und die Authentifizierung mit OAuth 2.0 (JSON Web Token) bietet eine einfache, sichere und flexible Option für MQTT-Clients, die nicht in Azure bereitgestellt wurden.
  • Unterstützung für Transport Layer Security (TLS) 1.2 und TLS 1.3: Schützen Sie Ihre Clientkommunikation mithilfe robuster Verschlüsselungsprotokolle.
  • Unterstützung für mehrere Sitzungen: Verbinden Sie Ihre Anwendungen mit mehreren aktiven Sitzungen, um Zuverlässigkeit und Skalierbarkeit zu gewährleisten.
  • MQTT über WebSockets: Stellen Sie Konnektivität für Clients in durch Firewalls eingeschränkte Umgebungen bereit.
  • Benutzerdefinierte Domänennamen: Ermöglichen Sie Benutzerinnen und Benutzern das Zuweisen eigener Domänennamen zu den MQTT-Endpunkten des Event Grid-Namespace, zur Verbesserung der Sicherheit und Vereinfachung der Clientkonfiguration.
  • Ereignisse des Clientlebenszyklus: Anwendungen können auf Ereignisse reagieren, die den Verbindungsstatus des Clients oder die Operationen der Clientressourcen betreffen.

Weitere Informationen zum MQTT-Broker finden Sie in den folgenden Artikeln:

Ereignismessaging (HTTP)

Event Grid unterstützt Push- und Pull-Ereignisübermittlung über HTTP. Mit der Pushübermittlung definieren Sie ein Ziel in einem Ereignisabonnement, an das Event Grid Ereignisse sendet. Mit der Pullübermittlung stellen Abonnentenanwendungen eine Verbindung mit Event Grid her, um Ereignisse zu nutzen. Die Pull-Lieferung wird für Themen in einem Ereignisraster-Namespace unterstützt.

Übersichtsdiagramm der Push- und Pullübermittlung mit der Art beteiligter Ressourcen

Ereignishandler

Bei der Pushübermittlung ist ein Ereignisabonnement eine generische Konfigurationsressource, mit der Sie den Ereignishandler oder das Ziel definieren können, an den/das Ereignisse mittels Pushübermittlung gesendet werden. Sie können z. B. Daten an einen Webhook, an Azure Functions oder an Event Hub senden. Eine vollständige Liste der unterstützten Ereignishandler finden Sie unter:

  • Ereignishandler, die in Namespacethemen unterstützt werden
  • Ereignishandler, die in benutzerdefinierten, System-, Domänen- und Partnerthemen unterstützt werden

Pushübermittlung und Pullübermittlung im Vergleich

Die folgenden allgemeinen Richtlinien helfen Ihnen bei der Entscheidung, wann die Pull- oder Pushübermittlung verwendet werden sollte.

Pullübermittlung

  • Sie benötigen die volle Kontrolle darüber, wann Ereignisse empfangen werden sollen. So kann es beispielsweise sein, dass Ihre Anwendung nicht die ganze Zeit läuft, nicht stabil genug ist oder dass Sie Daten zu bestimmten Zeiten verarbeiten.
  • Sie benötigen die vollständige Kontrolle über die Ereignisnutzung. Beispielsweise weist ein nachgelagerter Dienst oder eine nachgeschaltete Ebene in Ihrer Consumeranwendung ein Problem auf, das verhindert, dass Sie Ereignisse verarbeiten können. In diesem Fall ermöglicht die Pullübermittlungs-API der Consumer-App, ein bereits gelesenes Ereignis wieder zurück an den Broker freizugeben, sodass es später zugestellt werden kann.
  • Sie möchten beim Empfang von Ereignissen private Links verwenden, was nur mit der Pull-Zustellung, nicht mit der Push-Zustellung möglich ist.
  • Sie können einen Endpunkt nicht verfügbar machen und die Pushübermittlung verwenden, aber Sie können eine Verbindung mit Event Grid herstellen, um Ereignisse zu nutzen.

Pushübermittlung

  • Sie möchten nicht ständig Abfragen durchführen müssen, um festzustellen, ob sich ein Systemstatus geändert hat. Stattdessen verwenden Sie Event Grid, damit dieses Ihnen zu dem Zeitpunkt Ereignisse sendet, zu dem Zustandsänderungen auftreten.
  • Sie verfügen über eine Anwendung, die keine ausgehenden Aufrufe tätigen kann. Ihr Unternehmen könnte sich zum Beispiel Sorgen über eine Datenexfiltration machen. Ihre Anwendung kann jedoch Ereignisse über einen öffentlichen Endpunkt empfangen.

Hier sind einige Highlights des HTTP-Modells:

  • Flexibles Ereignisnutzungsmodell: Bei Verwendung von HTTP werden Ereignisse mithilfe des Pull- oder Push-Übermittlungsmodus genutzt.
  • Systemereignisse: Schnelle Betriebsbereitschaft durch integrierte Azure-Dienstereignisse.
  • Ihre eigenen Anwendungsereignisse: Verwenden der Weiterleitungs- und Filterfunktionen von Event Grid, um zuverlässig benutzerdefinierte Ereignisse von Ihrer App zu übertragen.
  • Partnerereignisse: Abonnieren der Ereignisse Ihres SaaS-Anbieters ihres Partners und Verarbeiten dieser Ereignisse in Azure.
  • Erweiterte Filterung: Filtern nach Ereignistyp oder anderen Ereignisattributen, um sicherzustellen, dass Ihre Ereignishandler oder Consumer-Apps nur relevante Ereignisse empfangen.
  • Zuverlässigkeit: Die Pushübermittlung bietet einen 24-Stunden-Wiederholungsmechanismus mit exponentiellem Backoff, um sicherzustellen, dass Ereignisse zugestellt werden. Bei der Pullübermittlung besitzt Ihre Anwendung die vollständige Kontrolle über die Ereignisnutzung.
  • Hoher Durchsatz: Erstellen integrierter Lösungen mit hohem Volumen mit Event Grid.
  • Benutzerdefinierte Domänennamen: Ermöglichen Sie Benutzerinnen und Benutzern das Zuweisen eigener Domänennamen zu den HTTP-Endpunkten des Event Grid-Namespace, zur Verbesserung der Sicherheit und Vereinfachung der Clientkonfiguration.

Weitere Informationen finden Sie in den folgenden Artikeln:

Anwendungsfälle

Eine Liste der Anwendungsfälle, in denen Sie Azure Event Grid verwenden können, finden Sie unter Anwendungsfälle.

Unterstützte Regionen

Hier ist die Liste der Regionen, in denen die neuen MQTT-Broker- und Namespace-Themenfunktionen verfügbar sind:

Region Region Region Region
Australien (Osten) Australien, Südosten Australien, Mitte Australien, Mitte 2
Brazilien, Süden Brasilien, Südosten Kanada, Mitte Kanada, Osten
Indien, Mitte USA (Mitte) Asien, Osten East US
USA (Ost) 2 USA (Westen) Frankreich, Mitte Frankreich, Süden
Deutschland, Norden Deutschland, Westen-Mitte Israel, Mitte Italien, Norden
Japan, Osten Japan, Westen Korea, Mitte Korea, Süden
Mexiko, Mitte USA Nord Mitte Nordeuropa Norwegen, Osten
Polen, Mitte Südafrika, Westen Südafrika, Norden USA Süd Mitte
Indien (Süden) Asien, Südosten Spanien, Mitte Schweden, Mitte
Schweden, Süden Schweiz, Norden Schweiz, Westen Vereinigte Arabische Emirate, Norden
VAE, Mitte UK, Süden UK, Westen Europa, Westen
USA, Westen 2 USA, Westen 3 USA, Westen-Mitte