Delen via


Event Grid in Kubernetes - gebeurtenisfiltering voor abonnementen

Met Event Grid in Kubernetes kunt u filters opgeven voor elke eigenschap in de json-nettolading. Deze filters worden gemodelleerd als een set EN-voorwaarden, waarbij elke buitenvoorwaarde optionele binnenste OF-voorwaarden heeft. Voor elke AND-voorwaarde geeft u de volgende waarden op:

  • OperatorType : het type vergelijking.
  • Sleutel: het json-pad naar de eigenschap waarop het filter moet worden toegepast.
  • Waarde: de verwijzingswaarde waarop het filter wordt uitgevoerd (of) Waarden: de set verwijzingswaarden waarop het filter wordt uitgevoerd.

Belangrijk

Event Grid in Kubernetes met Azure Arc is momenteel in openbare preview. Deze preview-versie wordt aangeboden zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.

Filteren op gebeurtenistype

Standaard worden alle gebeurtenistypen (type kenmerk) voor de gebeurtenisbron verzonden naar het eindpunt. U kunt besluiten om alleen bepaalde gebeurtenistypen naar uw eindpunt te verzenden. De JSON-syntaxis voor filteren op gebeurtenistype is:

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

In het bovenstaande voorbeeld worden de enige gebeurtenissen van het type orderCreated en orderUpdated gebeurtenissen verzonden naar het abonnee-eindpunt.

Hier volgt een voorbeeld van een gebeurtenis:

[{
      "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"
      }
}]

Filteren op onderwerp

Als u eenvoudig wilt filteren op onderwerp, geeft u een begin- of eindwaarde op voor het onderwerp. De JSON-syntaxis voor filteren op onderwerp is:

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

Met het filter dat hierboven is geconfigureerd, worden bijvoorbeeld alle orders die aan het account acct-123224 zijn gekoppeld, verzonden naar het abonnee-eindpunt.

Wanneer u gebeurtenissen publiceert naar onderwerpen, maakt u onderwerpen voor uw gebeurtenissen op een manier die het voor abonnees gemakkelijk maakt om te weten of ze geïnteresseerd zijn in de gebeurtenis. Abonnees gebruiken de eigenschap onderwerp om gebeurtenissen te filteren en te routeren. Overweeg het pad toe te voegen waar de gebeurtenis heeft plaatsgevonden, zodat abonnees kunnen filteren op segmenten van dat pad. Met het pad kunnen abonnees gebeurtenissen smal of breed filteren. Als u een pad van drie segmenten zoals /A/B/C in het onderwerp opgeeft, kunnen abonnees filteren op het eerste segment /A om een breed scala aan gebeurtenissen op te halen. Deze abonnees krijgen gebeurtenissen met onderwerpen als /A/B/C of /A/D/E. Andere abonnees kunnen filteren op /A/B om een smallere set gebeurtenissen te krijgen.

Filteren op waarden in gebeurtenisgegevens

Zie de sectie Geavanceerd filteren in het artikel Event Grid op Azure voor meer informatie over geavanceerd filteren in detail. De volgende functies en operators worden niet ondersteund door Event Grid in Kubernetes.

  • Filteren op matrixgegevens in sleutels van binnenkomende gebeurtenissen
  • Filter op contextkenmerken van CloudEvents-extensies toestaan.
  • Volgende operators
    • StringNotContains
    • StringNotBeginsWith
    • StringNotEndsWith
    • NumberInRange
    • NumberNotInRange
    • IsNullOrUndefined
    • IsNotNull

Volgende stappen

Zie Event Grid op Kubernetes - Gebeurtenis-handlers voor meer informatie over bestemmingen en handlers die worden ondersteund door Event Grid in Azure Arc voor Kubernetes.