Dank Ereignisdomänen erreichen die richtigen Ereignisse immer die richtigen Stellen

Veröffentlicht am 31 Oktober, 2018

Program Manager, Event Grid

Die Event Grid-Community wächst immer weiter, und viele von Ihnen haben bereits damit begonnen, die Komplexität und Skalierung auszutesten. Sie haben bereits hervorragende Systemarchitekturen auf dieser Plattform erstellt.

Über die letzten Monate haben wir zwei Features entwickelt, die Ihnen das Leben in einigen Fällen leichter machen sollen. Wir freuen uns, heute erweiterte Filter und Ereignisdomänen ankündigen zu können. Ereignisdomänen sind verwaltete Plattformen, auf denen Sie Ereignisse für alle Ihre Kunden veröffentlichen können. Darüber hinaus haben wir daran gearbeitet, den Entwicklungsprozess zu verbessern und Event Grid in Azure Government-Regionen verfügbar zu machen.

Ereignisdomänen

Mit Ereignisdomänen können Sie die Datenquelle für Event Grid selbst bereitstellen und den Fluss benutzerdefinierter Ereignisse zu den unterschiedlichen Organisationen in Ihrem Unternehmen, zu Kunden oder zu Anwendungen verwalten. Eine Ereignisdomäne ist im Grunde genommen ein Verwaltungstool für viele Event Grid-Themen, die mit der gleichen Anwendung in Zusammenhang stehen, also ein Artefakt auf höchster Ebene, das Tausende Themen enthalten kann. Mit einer Domäne können Sie die Autorisierung und Authentifizierung für jedes Thema über Azure Active Directory genau bestimmen. So können Sie ganz leicht festlegen, welcher Ihrer Mandanten oder Kunden welches Thema abonnieren darf. Die Ereignisdomäne kümmert sich für Sie um die Partitionierung. Das heißt, dass Sie Ereignisse nicht einzeln in jedem Thema veröffentlichen müssen, sondern alle Ereignisse am Endpunkt der Domäne veröffentlichen können, und dann sendet Event Grid die Ereignisse an die entsprechenden Themen.

Dieses Feature gibt es nur in Event Grid und bietet Ihnen und Ihren Partner neue Möglichkeiten zum Bereitstellen Ihrer eigenen Ereignisse für Ihre Endkunden.

Mit Ereignisdomänen nutzen wir zugrunde liegende, von Azure verwaltete Architekturen wie Blob Storage oder IoT Hub, um Ereignisse zu veröffentlichen, damit Sie diese verwenden können. Das bedeutet, dass Sie jetzt eine einzelne Ereignisdomäne verwenden können, um Ereignisse für alle Ihre Endkunden oder in einer komplexen Organisation mit unabhängigen Diensten zu veröffentlichen.

Ereignisdomänen lassen sich vielleicht am einfachsten an einem Beispiel veranschaulichen. Nehmen wir an, Sie betreiben Contoso Construction Machinery, ein Unternehmen, das Traktoren, Bagger und andere Großmaschinen herstellt. Als Teil des Geschäftsbetriebs übermitteln Sie Echtzeitinformationen zur Ausrüstungswartung, zur Systemintegrität und zu Vertragsaktualisierungen an Kunden. Alle diese Informationen werden an verschiedene Endpunkte weitergeleitet (z.B. an Ihre App, an Kundenendpunkte und andere Infrastruktur, die Kunden eingerichtet haben).

Ereignisdomänen ermöglichen es Ihnen, Contoso Construction Machinery als eine einzige Ereigniseinheit zu behandeln. Jeder Ihrer Kunden stellt ein Thema in der Domäne dar. Die Authentifizierung und Autorisierung wird mit Azure Active Directory verarbeitet, sodass Sie sich nicht darum kümmern müssen. Jeder Kunde kann sein Thema abonnieren und die Ereignisse empfangen, die an dieses Thema gesendet werden. Durch AAD und die Ereignisdomäne wird jedoch verhindert, dass ein Kunde auf das Thema eines anderen Mandanten zugreifen kann.

Zudem haben Sie so einen einzigen Endpunkt, an dem Sie alle Ihre Kundenereignisse veröffentlichen können. Event Grid stellt sicher, dass jedes Thema nur die Ereignisse empfängt, die für den jeweiligen Mandanten relevant sind.

Übersicht: Contoso Construction Machinery-Ereignisdomäne

Der Fokus bei Anwendungsarchitekturen verschiebt sich immer mehr zu ereignisbasierten Programmiermodellen. Gerade deshalb wird es immer wichtiger, dass die Pushübertragung an HTTP-Endpunkte, Anwendungen und Clouddienste unterstützt wird. Ereignisdomänen übernehmen die Ereignisverwaltung für Sie, sodass Sie sich nur darüber Gedanken machen müssen, welche Ereignisse Sie für Ihre Kunden zur Verfügung stellen.

Verwenden Sie Ereignisdomänen für die folgenden Aufgaben:

  • Verwalten mehrinstanzenfähiger Ereignisarchitekturen nach Bedarf
  • Verwalten der Autorisierung und Authentifizierung
  • Partitionieren von Themen, ohne diese einzeln verwalten zu müssen
  • Vermeiden der Veröffentlichung für jeden einzelnen Themaendpunkt

In unserer Dokumentation erfahren Sie mehr zu Ereignisdomänen, und mit diesem Artikel können Sie einsteigen.

Erweiterte Filter in Event Grid

Wir freuen uns außerdem, bekanntgeben zu können, das Event Grid ab heute mehrere neue erweiterte Filter unterstützt. Diese Filter gehen Hand in Hand mit den Funktionen, die wir mit Ereignisdomänen einführen. Durch die neuen Filter können Sie bei der Übertragung viele zusätzliche Arten von Filtern anwenden, z.B. auch numerische, boolesche und Zeichenfolgenfilter.

Durch diese Änderung werden mehrere Operatoren für jeden Datentyp bereitgestellt, und wir fügen zusätzliche Felder hinzu, für die Sie diese verwenden können. Dadurch können Sie besser bestimmen, welche Ereignisse wohin übertragen werden, und Sie können sicherstellen, dass nur die erforderlichen Ereignisse an die Computedienste weitergeleitet werden. Erweiterte Filter unterstützen das Filtern von Umschlageigenschaften (wie z.B. DataVersion, Id und Topic) sowie das Filtern der ersten Ebene der Datennutzlast (z.B. data.key1). Die folgenden Operatoren werden für die jeweiligen Datentypen hinzugefügt:

Zahlen

  • NumberLessThan
  • NumberLessThanOrEquals
  • NumberGreaterThan
  • NumberGreaterThanOrEquals
  • NumberIn – the value for data.key equals a value in the set [0, 2.08, 3.14]
  • NumberNotIn – the value for data.key is not in the set [1, 11, 112, 1124]

Zeichenfolgen

  • StringContains – the value for data.key contains “the”
  • StringIn – the value for data.key equals a value in the set [“small”, “brown”, “fox”]
  • StringNotIn – the value for data.key equals a value in the set [“jumped”, “over”, “the”]
  • StringBeginsWith – the value for data.key begins with “lazy”
  • StringEndsWith – the value for data.key ends with “dog”

Boolescher Wert

  • BoolEquals

Dadurch müssen Sie nie wieder mühselig zusätzliche Skripts zum weiteren Filtern Ihrer Ereignisse vor dem Ausführen der Unternehmenslogik hinzufügen. Wenn Sie die neuen Filter miteinander kombinieren, können Sie umfangreiche Filter bei der Übertragung anwenden, sodass Ihre Ereignishandler nur tatsächlich relevante Daten verarbeiten müssen.

In unserer Dokumentation erhalten Sie mehr Informationen zu erweiterten Filtern in Event Grid.

Verfügbarkeit in Azure Government-Regionen

Seit 1. November 2018 ist Event Grid in den Regionen „US Gov Arizona“, „Texas“ und „Virginia“ verfügbar. Alle Event Grid-Features (z.B. benutzerdefinierte Themen, Domänen, Filter und das Verarbeiten unzustellbarer Nachrichten) sind von Anfang an verfügbar. Integrierte Ereignisse aus Azure-Diensten wie Azure Storage sind nicht direkt von Anfang an verfügbar. Wir arbeiten bereits an integrierten Ereignisquellen für diese Regionen. Diese werden nach und nach über die nächsten Monate hinzugefügt, also halten Sie die Augen offen. Das bedeutet, dass Event Grid zunächst in den US Gov-Regionen als öffentliche Vorschauversion verfügbar ist, bis alle Funktionen zum Dienst hinzugefügt wurden. Wenn Sie Fragen oder Anregungen bezüglich bestimmter Ereignisherausgeber haben, wenden Sie sich gerne an unser Team.

Verbesserung des Entwicklungsprozesses

Wir bemühen uns immer, das Testen und Entwickeln für Sie so einfach wie möglich zu gestalten. Aus diesem Grund haben wir einige SDKs aktualisiert und eine Gültigkeitsdauer für Ereignisabonnements und Unterstützung für das Konfigurieren von Richtlinien für die Verarbeitung unzustellbarer Nachrichten und Wiederholungsrichtlinien hinzugefügt.

Richtlinien für die Verarbeitung unzustellbarer Nachrichten und Wiederholungsrichtlinien im Azure-Portal

Sie können jetzt die Registerkarte „Zusätzliche Features“ oben auf der Seite verwenden, wenn Sie ein Ereignisabonnement erstellen. Über diese Seite können Sie auf Wiederholungsrichtlinien und Konfigurationen für das Verarbeiten unzustellbarer Nachrichten sowie auf alle neu hinzugefügten Features zugreifen. Darüber hinaus gibt es jetzt einen Modus mit einem erweiterten Editor, in dem Sie die ARM-Darstellung Ihres Abonnements für die Verwendung in einer ARM-Vorlage anzeigen sowie neue Features konfigurieren können, die noch nicht im Portal verfügbar sind.

Gültigkeitsdauer eines Ereignisabonnements

Es spricht einiges für das Verwenden kurzlebiger Ressourcen. Kurzlebige Ressourcen erzwingen Sicherheit beim Testen, indem alte Ressourcen bereinigt werden, sie tragen weiterhin zur Sicherheit bei, indem sie verhindern, dass Ressourcen endlos veröffentlichen können, und sie sorgen dafür, dass Konfigurationen immer aktuell sind, indem sie sicherstellen, dass nur Ressourcen, die Ereignisse explizit abonnieren, auch weiterhin diese Ereignisse erhalten. Sie legen beim Erstellen eines Ereignisabonnements eine Gültigkeitsdauer fest. Wenn diese abgelaufen ist, wird das Abonnement automatisch bereinigt.

Änderungen an SDKs

Wir haben das .NET, Java und Go SDK aktualisiert, um die Verwendung nativer Azure-Ereignisse noch leichter zu machen. Mit den jeweils aktuellsten Releases berücksichtigt das SDK jetzt alle verfügbaren Ereignistypen, die von Azure veröffentlicht werden. Das heißt, dass Sie mit der EventGridSubscriber-Klasse von Event Grid Ereignisse direkt für alle bekannten Ereignistypen deserialisieren und Code mit dem Inhalt der Ereignisse schreiben können, ohne JSON vorher manuell in verschiedene Ereignistypklassen deserialisieren zu müssen. Sehen Sie sich die unterschiedlichen SDKs genauer an, um Ihre Event Grid-Ressourcen und -Ereignisse leichter verwalten zu können.