Freigeben über


Event Grid in Kubernetes – Ereignisfilterung für Abonnements

In Event Grid in Kubernetes können Filter für eine beliebige Eigenschaft in den JSON-Nutzdaten angegeben werden. Diese Filter werden als Gruppe von AND-Bedingungen erstellt, wobei jede äußere Bedingung über optionale innere OR-Bedingungen verfügt. Für jede AND-Bedingung geben Sie die folgenden Werte an:

  • OperatorType: Der Typ des Vergleichs.
  • Key: Der JSON-Pfad zur Eigenschaft, auf die der Filter angewendet werden soll.
  • Value: Referenzwert, für den der Filter ausgeführt wird (oder) Values: Gruppe von Referenzwerten, für die der Filter ausgeführt wird.

Wichtig

Event Grid in Kubernetes mit Azure Arc befindet sich derzeit in der öffentlichen Vorschau. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Filtern nach Ereignistyp

Standardmäßig werden alle Ereignistypen (type-Attribute) für die Ereignisquelle an den Endpunkt gesendet. Sie können entscheiden, nur bestimmte Ereignistypen an Ihren Endpunkt zu senden. Die JSON-Syntax für das Filtern nach Ereignistyp lautet:

"filter": {
  "includedEventTypes": [
    "orderCreated",
    "orderUpdated"
  ]
}

Im Beispiel oben werden nur Ereignisse vom Typ orderCreated und orderUpdated-Ereignisse an den Abonnentenendpunkt gesendet.

Hier sehen Sie ein Beispiel für ein Ereignis:

[{
      "specVersion": "1.0",
      "type" : "orderCreated",
      "source": "myCompanyName/us/webCommerceChannel/myOnlineCommerceSiteBrandName",
      "id" : "eventId-n",
      "time" : "2020-12-25T20:54:07+00:00",
      "subject" : "account/acct-123224/order/o-123456",
      "dataSchema" : "1.0",
      "data" : {
         "orderId" : "123",
         "orderType" : "PO",
         "reference" : "https://www.myCompanyName.com/orders/123"
      }
}]

Filtern nach Betreff

Zum einfachen Filtern nach Betreff geben Sie einen Start- oder Endwert für den Betreff ein. Die JSON-Syntax für das Filtern nach Betreff lautet:

"filter": {
  "subjectBeginsWith": "/account/acct-123224/"
}

Beispielsweise sendet der oben konfigurierte Filter alle Bestellungen, die dem Konto acct-123224 zugeordnet sind, an den Abonnentenendpunkt.

Erstellen Sie beim Veröffentlichen von Ereignissen für Themen Betreffinformationen für Ihre Ereignisse, an denen Abonnenten einfach erkennen können, ob sie Interesse am Ereignis haben. Abonnenten verwenden die Betreffeigenschaft zum Filtern und Weiterleiten von Ereignissen. Erwägen Sie, den Pfad zum Ereignisort hinzuzufügen, damit Abonnenten nach Segmenten dieses Pfads filtern können. Mit dem Pfad können Abonnenten Ereignisse speziell oder allgemein filtern. Wenn Sie einen Pfad mit drei Segmenten im Betreff angeben, z. B. /A/B/C, können Abonnenten nach dem ersten Segment /A filtern, um eine umfassendere Gruppe von Ereignissen angezeigt zu bekommen. Diese Abonnenten erhalten Ereignisse mit Betreffinformationen wie /A/B/C oder /A/D/E. Andere Abonnenten können nach /A/B filtern, um eine eingeschränktere Gruppe mit Ereignissen zu erhalten.

Filtern nach Werten in Ereignisdaten

Im Abschnitt Erweiterte Filterung im Artikel „Event Grid in Azure“ finden Sie detaillierte Informationen zur erweiterten Filterung. Die folgenden Features und Operatoren werden von Event Grid in Kubernetes nicht unterstützt.

  • Filterung nach Arraydaten in Schlüsseln eingehender Ereignisse
  • Zulassen der Filterung nach Kontextattributen für CloudEvents-Erweiterungen.
  • Folgende Operatoren
    • StringNotContains
    • StringNotBeginsWith
    • StringNotEndsWith
    • NumberInRange
    • NumberNotInRange
    • IsNullOrUndefined
    • IsNotNull

Nächste Schritte

Informationen zu Zielen und Handlern, die von Event Grid in Azure Arc für Kubernetes unterstützt werden, finden Sie unter Event Grid in Kubernetes – Ereignishandler.