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.
Azure Event Grid ist ein allgemein verfügbarer Dienst, der über Verfügbarkeitszonen hinweg in allen Regionen bereitgestellt wird, in denen er unterstützt wird. Eine Liste der Regionen, die von Event Grid unterstützt werden, finden Sie unter Verfügbare Produkte nach Region.
Überblick
Azure Event Grid wird in verschiedenen Phasen von Datenpipelines verwendet, um eine Vielzahl von Integrationszielen zu erreichen.
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.
Capabilities
Event Grid bietet eine umfangreiche Mischung aus Features. Zu den Features zählen:
MQTT-Messaging
- 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.
- Die Authentifizierungsmethoden mit MQTT-Broker - X.509-Zertifikatauthentifizierung stellt den Industriestandard 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 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.
Ereignismessaging (HTTP)
- 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.
Hinweis
Bezüglich der Einstellung von TLS 1.0/1.1: Für Systemthemen müssen Sie nur Maßnahmen für die Ereignisübermittlung an Webhookziele ergreifen. Wenn das Ziel TLS 1.2 unterstützt, erfolgt die Ereignisübermittlung mithilfe von 1.2. Wenn das Ziel TLS 1.2 nicht unterstützt, fällt die Ereignisübermittlung automatisch auf 1.0 und 1.1 zurück. Nach dem 1. März 2025 wird die Ereignisübermittlung mit 1.0 und 1.1 nicht mehr unterstützt. Stellen Sie sicher, dass Ihre Webhookziele TLS 1.2 unterstützen. Eine einfache Möglichkeit zum Überprüfen der TLS 1.2-Unterstützung stellt die Verwendung von Qualys SSL Labs dar. Wenn der Bericht zeigt, dass TLS 1.2 unterstützt wird, ist keine Aktion erforderlich. Weitere Informationen finden Sie im folgenden Blogbeitrag: Einstellung: Bevorstehende TLS-Änderungen für Azure Event Grid.
Anwendungsfälle
Event Grid unterstützt die folgenden Anwendungsfälle:
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 MQ integrieren, um dessen MQTT-Broker-Fähigkeit am Edge mit der MQTT-Broker-Fähigkeit von Event Grid in der Cloud zu verbinden. Azure IoT MQ ist ein neuer verteilter MQTT-Broker für Edge Computing, der auf Arc-fähigen Kubernetes-Clustern läuft. 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.
Mit dem MQTT Vermittler-Feature von Azure Event Grid können Sie die folgenden Szenarien durchführen:
Erfassen von IoT-Telemetriedaten
Erfassen von Telemetriedaten mithilfe eines n:1-Messagingmusters. Verwenden Sie beispielsweise Event Grid, um Telemetriedaten von mehreren IoT-Geräten an eine Cloudanwendung zu senden. Dieses Muster ermöglicht es der Anwendung, den Aufwand für die Verwaltung einer hohen Anzahl von Verbindungen mit Geräten an Event Grid auszulagern.
Befehl und Steuerung
Steuern Ihrer MQTT-Clients mithilfe des Anforderung/Antwort-Messagingmusters (1:1). Verwenden Sie beispielsweise Event Grid, um einen Befehl von einer Cloudanwendung an ein IoT-Gerät zu senden.
Übertragen von Warnungen (Broadcast)
Übertragen (Broadcast) von Warnungen an eine Gruppe von Clients mithilfe des 1:n-Messagingmusters. Verwenden Sie beispielsweise Event Grid, um eine Warnung von einer Cloudanwendung an mehrere IoT-Geräte zu senden. Dieses Muster ermöglicht es der Anwendung, nur eine Nachricht zu veröffentlichen, die der Dienst für jeden interessierten Client repliziert.
Integrieren von MQTT-Daten
Integrieren Sie Daten von Ihren MQTT-Clients, indem Sie MQTT-Nachrichten über push delivery oder pull delivery an Azure-Dienste und benutzerdefinierte Endpunkte weiterleiten. Verwenden Sie beispielsweise Event Grid, um Telemetriedaten von Ihren IoT-Geräten an Event Hubs und dann an Azure Stream Analytics weiterzuleiten, um Erkenntnisse aus Ihren Gerätetelemetriedaten zu gewinnen.
Pushübermittlung von Ereignissen
Event Grid kann so konfiguriert werden, dass Ereignisse mithilfe der Pushereignisübermittlung an eine Vielzahl von Azure-Diensten oder Webhooks gesendet werden. Zu den Ereignisquellen gehören Ihre benutzerdefinierten Anwendungen, Azure-Dienste und Partnerdienste (SaaS), die Ereignisse veröffentlichen, die Systemstatusänderungen ankündigen (auch als „diskrete“ Ereignisse bezeichnet). Event Grid liefert diese Ereignisse im Gegenzug an konfigurierte Abonnentenziele.
Mit der Pushübermittlung von Event Grid können Sie die folgenden Anwendungsfälle realisieren.
Hinweis
Die Pushübermittlung ist auf den Dienstebenen Event Grid Basic und Event Grid Standard verfügbar. Weitere Informationen zu den Unterschieden erfahren Sie unter Auswählen der richtigen Event Grid-Dienstebene für Ihre Lösung.
Erstellen ereignisgesteuerter serverloser Lösungen
Verwenden von Event Grid, um serverlose Lösungen mit Azure Functions Apps, Logic Apps und API Management zu erstellen. Die Verwendung serverloser Dienste mit Event Grid bietet Ihnen ein Maß an Produktivität, Aufwandsökonomie und Integration, das dem von klassischen Computingmodellen, bei denen Sie die gesamte bereitgestellte Infrastruktur beschaffen, verwalten, sichern und warten müssen, überlegen ist.
Empfangen von Ereignissen von Azure-Diensten
Event Grid kann Ereignisse von mehr als 20 Azure-Diensten empfangen, damit Sie Ihre Vorgänge automatisieren können. So können Sie beispielsweise das Event Grid so konfigurieren, dass es ein Ereignis empfängt, wenn ein neuer Blob auf einem Azure Storage-Konto erstellt wurde, damit Ihre nachgelagerte Anwendung dessen Inhalt lesen und verarbeiten kann. Eine Liste aller unterstützten Azure-Dienste und -Ereignisse finden Sie unter Systemthemen.
Empfangen von Ereignissen von Ihren Anwendungen
Ihr eigener Dienst oder Ihre eigene Anwendung veröffentlicht Ereignisse in Event Grid, die Abonnentenanwendungen verarbeiten. Event Grid bietet Namespacethemen, um Integrations- und Routinganforderungen im großen Stil mit einem einfachen Ressourcenmodell zu erfüllen. Sie können auch benutzerdefinierte Themen zum Erfüllen grundlegender Integrationsanforderungen sowie Domänen verwenden, um ein einfaches Verwaltungs- und Routingmodell anzuwenden, wenn Sie Ereignisse an Hunderte oder Tausende verschiedene Gruppen verteilen müssen.
Empfangen von Ereignissen von Partnern (SaaS-Anbieter)
Ein/e mehrinstanzenfähige/r SaaS-Anbieter oder -Plattform kann ihre Ereignisse über ein Feature namens Partnerereignisse in Event Grid veröffentlichen. Sie können diese Ereignisse abonnieren und z. B. Aufgaben automatisieren. Ereignisse von den folgenden Partnern sind derzeit verfügbar:
- Auth0
- Microsoft Graph-API. Über die Microsoft Graph-API können Sie Ereignisse von Microsoft Entra ID, Microsoft Outlook, Teams, Conversations, Sicherheitswarnungen und Universal Print abrufen.
- Tribal Group
- SAP
Ereignishandler
Ein Ereignisabonnement ist 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
Pullübermittlung diskreter Ereignisse
Azure Event Grid verfügt über Pullübermittlung von CloudEvents. In diesem Übermittlungsmodus stellen Clients eine Verbindung mit Event Grid her, um Ereignisse zu lesen. Die folgenden Anwendungsfälle können mithilfe der Pullübermittlung realisiert werden.
Empfangen von Ereignissen in Ihrem eigenen Tempo
Mindestens ein Client kann eine Verbindung mit Azure Event Grid herstellen, um Nachrichten in seinem eigenen Tempo zu lesen. Event Grid bietet Clients die volle Kontrolle über die Ereignisnutzung. Ihre Anwendung kann z. B. Ereignisse zu bestimmten Tageszeiten empfangen. Ihre Lösung kann auch die Nutzungsrate erhöhen, indem mehr Clients hinzugefügt werden, die aus Event Grid lesen.
Nutzen von Ereignissen über eine private Verbindung
Sie können private Verbindungen konfigurieren, um eine Verbindung mit Azure Event Grid herzustellen, um CloudEvents über einen privaten Endpunkt in Ihrem virtuellen Netzwerk zu veröffentlichen und zu lesen. Der Datenverkehr zwischen Ihrem virtuellen Netzwerk und Event Grid verläuft über das Microsoft-Backbone-Netzwerk.
Wichtig
Private Verbindungen sind mit Pull-Übermittlung verfügbar, nicht mit Push-Übermittlung. Sie können private Verbindungen verwenden, wenn Ihre Anwendung eine Verbindung mit Event Grid herstellt, um Ereignisse zu veröffentlichen oder zu empfangen, aber nicht, wenn Event Grid eine Verbindung mit Ihrem Webhook oder Azure-Dienst herstellt, um Ereignisse zu übermitteln.
Regionen, in denen der Event Grid Namespace verfügbar ist
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 |
Nächste Schritte
MQTT-Messaging
- Übersicht
- Veröffentlichen und Abonnieren von MQTT-Nachrichten
- Lernprogramm: Weiterleiten von MQTT-Nachrichten an Azure Event Hubs mithilfe von Namespacethemen
- Lernprogramm: Weiterleiten von MQTT-Nachrichten an Azure Functions mithilfe von benutzerdefinierten Themen
Datenverteilung mithilfe von Pull- oder Pushübermittlung
- Übersicht der Pullübermittlung.
- Übersicht der Pushübermittlung.
- Konzepte
- Schnellstart: Veröffentlichen und Abonnieren von App-Ereignissen mithilfe von Namespacethemen.