Pushübermittlung von Azure Event Grid – Konzepte

In diesem Artikel werden die Standard Event Grid-Konzepte im Zusammenhang mit der Pushbereitstellung beschrieben.

Hinweis

Informationen zu Event Grid-Konzepten im Zusammenhang mit dem neuen Ressourcenmodell, das Namespaces verwendet, finden Sie in diesem Artikel zu Konzepten.

Ereignisse

Ein Ereignis ist die kleinste Informationsmenge, die einen Vorgang oder Vorfall im System vollständig beschreibt. Jedes Ereignis enthält allgemeine Informationen wie source (Quelle) des Ereignisses, time (Zeitpunkt), an dem das Ereignis aufgetreten ist, und einen eindeutigen Bezeichner. Jedes Ereignis enthält auch spezielle Informationen, die nur für den jeweiligen Ereignistyp relevant sind. Beispielsweise enthält ein Ereignis zu einer neuen Datei, die in Azure Storage erstellt wird, Details über die Datei, z.B. den Wert von lastTimeModified. Ein Event Hubs-Ereignis enthält die URL der Capture-Datei (Erfassung). Ein Ereignis über eine neue Bestellung in Ihrem Microservice „Orders“ kann ein orderId-Attribut und ein URL-Attribut für die Zustandsdarstellung der Bestellung enthalten.

CloudEvents

Event Grid verwendet die offene CloudEvents 1.0-Standardspezifikation von CNCF unter Verwendung der HTTP-Protokollbindung im JSON-Format. CloudEvents ist eine erweiterbare Ereignisspezifikation mit dokumentierten Erweiterungen für bestimmte Anforderungen. Bei Verwendung von Event Grid ist CloudEvents aufgrund seiner gut dokumentierten Anwendungsfälle (Modi für die Übertragung von Ereignissen, Ereignisformaten usw.), seiner Erweiterbarkeit und der verbesserten Interoperabilität das bevorzugte Ereignisformat. CloudEvents verbessert die Interoperabilität, indem ein allgemeines Ereignisformat für die Veröffentlichung bereitgestellt wird und Ereignisse genutzt werden. Es ermöglicht einheitliche Tools und Standardmethoden zum Routing und Behandeln von Ereignissen.

Die folgende Tabelle zeigt die aktuelle Unterstützung für die CloudEvents-Spezifikation:

CloudEvents-Inhaltsmodus Unterstützt?
Strukturiertes JSON-Format Ja
Binär (Binary) Nein

Die maximal zulässige Größe für ein Ereignis beträgt 1 MB. Ereignisse, die größer als 64 KB sind, werden in Schritten von 64 KB in Rechnung gestellt. Für die Eigenschaften, die in einem Ereignis enthalten sind, siehe CloudEvents-Schema.

Andere Formate

Event Grid unterstützt auch das proprietäre Event Grid-Schemaformat für Herausgeber von Systemereignissen. Sie können Event Grid so konfigurieren, dass Ereignisse im CloudEvents-Format übermittelt werden.

Herausgeber

Ein Herausgeber ist die Anwendung, die Ereignisse an Event Grid sendet. Es kann die gleiche Anwendung sein, aus der die Ereignisse stammen, die Ereignisquelle. Azure-Dienste veröffentlichen Ereignisse in Event Grid, um ein Vorkommen in ihrem Dienst anzukündigen. Sie haben die Möglichkeit, Ereignisse über Ihre eigene Anwendung zu veröffentlichen. Organisationen, die Dienst außerhalb von Azure hosten, können auch Ereignisse über Event Grid veröffentlichen.

Ereignisquellen

Eine Ereignisquelle ist die Quelle, in der das Ereignis auftritt. Jede Ereignisquelle ist mit mindestens einem Ereignistyp verknüpft. Azure Storage ist z.B. die Ereignisquelle für durch Blobs erstellte Ereignisse. IoT Hub ist die Ereignisquelle für Ereignisse, die von Geräten erstellt wurden. Ihre Anwendung ist die Ereignisquelle für benutzerdefinierte Ereignisse, die Sie definieren. Ereignisquellen sind dafür zuständig, Ereignisse an Event Grid zu senden.

Partner

Ein Partner ist eine Art Herausgeber, der Ereignisse aus seinem System sendet, um sie für Azure-Kunden verfügbar zu machen. Ein Partner ist in der Regel ein SaaS- oder ERP-Anbieter, der in Azure Event Grid integriert ist, um Kunden dabei zu helfen, ereignisgesteuerte Anwendungsfälle auf allen Plattformen zu realisieren. Partner können nicht nur Ereignisse in Azure Event Grid veröffentlichen, sondern auch Ereignisse erhalten. Diese Funktionen werden über die Funktion Partnerereignisse aktiviert.

Themen

Ein Thema enthält Ereignisse, die in Event Grid veröffentlicht wurden. In der Regel verwenden Sie eine Themenressource für eine Sammlung verwandter Ereignisse. Um auf bestimmte Arten von Ereignissen zu reagieren, legen Abonnenten (ein Azure-Dienst oder andere Anwendungen) fest, welche Themen sie abonnieren. Es gibt verschiedene Arten von Themen: benutzerdefinierte Themen, Systemthemen und Partnerthemen.

Benutzerdefinierte Themen

Benutzerdefinierte Themen sind auch Themen, die mit Ihren Anwendungen verwendet werden. Sie waren die erste Art von Thema, die zum Erstellen ereignisgesteuerter Integrationen für benutzerdefinierte Anwendungen entwickelt wurde. Als eigenständige Ressource machen sie ihren eigenen Endpunkt verfügbar, an dem Ereignisse veröffentlicht werden.

Benutzerdefinierte Themen unterstützen Pushübermittlung. Die Informationen unter Wann Pull- oder Pushübermittlung verwendet werden sollte helfen Ihnen bei der Entscheidung, ob Pushübermittlung angesichts Ihrer Anforderungen der richtige Ansatz ist. Sie können auch den Artikel Benutzerdefinierte Themen lesen.

Systemthemen

Systemthemen sind integrierte Themen, die von Azure-Diensten bereitgestellt werden, z. B. von Azure Storage, Azure Event Hubs und Azure Service Bus. Sie können Systemthemen in Ihrem Azure-Abonnement erstellen und sie abonnieren. Weitere Informationen finden Sie in der Übersicht über Systemthemen.

Partnerthemen

Partnerthemen sind eine Art Thema, das verwendet wird, um Ereignisse zu abonnieren, die von einem Partner veröffentlicht werden. Die Funktion, die diese Art der Integration ermöglicht, wird als Partnerereignisse bezeichnet. Durch diese Integration erhalten Sie ein Partnerthema, in dem Ereignisse aus einem Partnersystem verfügbar gemacht werden. Sobald Sie ein Partnerthema haben, erstellen Sie ein Ereignisabonnement, wie Sie es für ein anderes Thema tun würden.

Ereignisabonnements

Hinweis

Informationen zu Ereignisabonnements unter einem Namespacethema finden Sie in diesem Artikel zu Konzepten.

Ein Abonnement informiert Event Grid über die Ereignisse, die Sie zu einem Thema erhalten möchten. Wenn Sie ein Abonnement erstellen, stellen Sie einen Endpunkt für die Behandlung des Ereignisses bereit. Endpunkte können ein Webhook oder eine Azure-Dienstressource sein. Sie können die Ereignisse filtern, die an den Endpunkt gesendet werden. Sie können nach Ereignistyp oder Ereignissubjekt filtern. Weitere Informationen finden Sie unter Ereignisabonnements und CloudEvents-Schema. Ereignisabonnements für benutzerdefinierte, System- und Partnerthemen sowie Domänen verfügen über dieselben Ressourceneigenschaften.

Beispiele zum Erstellen von Abonnements für benutzerdefinierte, System- und Partnerthemen sowie Domänen finden Sie unter:

Weitere Informationen zum Abfragen Ihrer aktuellen Event Grid-Abonnements finden Sie unter Abfragen von Event Grid-Abonnements.

Ereignisabonnementablauf

Sie können eine Ablaufzeit für Ereignisabonnements festlegen, die benutzerdefinierten, System-, Partner- und Domänenthemen sowie Domänenabonnements zugeordnet sind. Das Ereignisabonnement läuft nach diesem Datum automatisch ab. Legen Sie ein Ablaufdatum für Ereignisabonnements fest, die nur für einen begrenzten Zeitraum erforderlich sind und um deren Bereinigung Sie sich nicht kümmern möchten. Beispielsweise könnten Sie beim Erstellen eines Ereignisabonnements zum Testen eines Szenarios ein Ablaufdatum festlegen.

Ein Beispiel für das Festlegen eines Ablaufdatums finden Sie unter Abonnieren mit erweiterten Filtern.

Ereignishandler

In Bezug auf Event Grid ist ein Ereignishandler der Ort, an den das Ereignis gesendet wird, wenn Pushübermittlung verwendet wird. Der Handler ergreift zur Verarbeitung des Ereignisses weitere Maßnahmen. Bei Verwendung der Pushübermittlung unterstützt Event Grid mehrere Handlertypen. Sie können einen unterstützten Azure-Dienst oder einen eigenen Webhook als Handler verwenden. Je nach Handlertyp übermittelt Event Grid die Ereignisse auf unterschiedliche Art und Weise. Bei HTTP-Webhookereignishandlern wird das Ereignis solange wiederholt, bis der Handler einen Statuscode von 200 – OK zurückgibt. Bei Azure Storage Queue werden die Ereignisse solange wiederholt, bis der Warteschlangendienst den Nachrichtenpush in der Warteschlange verarbeitet.

Informationen zum Implementieren der unterstützten Event Grid-Handler finden Sie unter Ereignishandler in Azure Event Grid.

Sicherheit

Event Grid ermöglicht Sicherheit beim Abonnieren von Themen sowie beim Veröffentlichen von Ereignissen in Themen. Für das Abonnieren sind entsprechende Berechtigungen für das Event Grid-Thema erforderlich. Bei Verwendung der Pushübermittlung ist der Ereignishandler ein Azure-Dienst ist, und eine verwaltete Identität wird zum Authentifizieren von Event Grid verwendet, und die verwaltete Identität sollte über eine entsprechende RBAC-Rolle verfügen. Wenn Sie beispielsweise Ereignisse an Event Hubs senden, sollte die verwaltete Identität, die im Ereignisabonnement verwendet wird, Mitglied der Rolle „Event Hubs-Datensender“ sein. Für das Veröffentlichen ist ein SAS-Token oder eine Schlüsselauthentifizierung für das Thema erforderlich. Weitere Informationen finden Sie unter Event Grid – Sicherheit und Authentifizierung.

Ereignisbereitstellung

Wenn Event Grid bei Verwendung von Pushübermittlung nicht bestätigen kann, dass ein Ereignis am Endpunkt des Abonnenten empfangen wurde, wird das Ereignis erneut übermittelt. Weitere Informationen finden Sie unter Event Grid – Nachrichtenübermittlung und -wiederholung.

Batching

Wenn Sie ein benutzerdefiniertes Thema verwenden, müssen die Ereignisse immer in einem Array veröffentlicht werden. Dies kann bei Szenarien mit niedrigem Durchsatz ein Batch mit einem Element sein.

Inlineereignistypdefinitionen

Wenn Sie ein Partner sind, können Sie die Ereignistypen definieren, die Sie Kunden beim Erstellen eines Kanals zur Verfügung stellen. Mit Inline-Ereignistypdefinitionen können Abonnenten Ereignisse beim Konfigurieren eines Ereignisabonnements problemlos anhand ihres Ereignistyps filtern.

Verfügbarkeitszonen

Azure-Verfügbarkeitszonen sind physisch getrennte Standorte innerhalb der einzelnen Azure-Regionen, die Fehlertoleranz bei lokalen Ausfällen bieten. Verfügbarkeitszonen sind über ein Hochleistungsnetzwerk mit einer Roundtriplatenz von weniger als 2 Millisekunden verbunden. Jede Verfügbarkeitszone besteht aus mindestens einem Rechenzentrum mit unabhängiger Stromversorgung, Kühlung und Netzwerkinfrastruktur. Wenn eine Zone von einem Fehler betroffen ist, werden regionale Dienste, Kapazität und Hochverfügbarkeit von den verbleibenden beiden Zonen unterstützt. Weitere Informationen zu Verfügbarkeitszonen finden Sie unter Regionen und Verfügbarkeitszonen.

Nächste Schritte