Share via


Event Grid no Kubernetes – filtragem de eventos para subscrições

O Event Grid no Kubernetes permite especificar filtros em qualquer propriedade no payload json. Estes filtros são modelados como um conjunto de condições E, com cada condição externa com condições or internas opcionais. Para cada condição E, especifique os seguintes valores:

  • OperatorType - O tipo de comparação.
  • Chave – o caminho json para a propriedade na qual pretende aplicar o filtro.
  • Valor – o valor de referência em relação ao qual o filtro é executado (ou) Valores – o conjunto de valores de referência em relação ao qual o filtro é executado.

Importante

O Event Grid no Kubernetes com o Azure Arc está atualmente em pré-visualização pública. Esta versão de pré-visualização é disponibiliza sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Filtrar por tipo de evento

Por predefinição, todos os tipos de eventos (type atributo) para a origem do evento são enviados para o ponto final. Pode decidir enviar apenas determinados tipos de eventos para o ponto final. A sintaxe JSON para filtrar por tipo de evento é:

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

No exemplo acima, os únicos eventos de tipo orderCreated e orderUpdated eventos são enviados para o ponto final do subscritor.

Eis um evento de exemplo:

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

Filtrar por assunto

Para filtragem simples por assunto, especifique um valor inicial ou final para o assunto. A sintaxe JSON para filtrar por assunto é:

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

Por exemplo, o filtro configurado acima enviará todas as encomendas associadas à conta acct-123224 para o ponto final do subscritor.

Ao publicar eventos em tópicos, crie assuntos para os seus eventos de forma a facilitar aos subscritores saber se estão interessados no evento. Os subscritores utilizam a propriedade assunto para filtrar e encaminhar eventos. Considere adicionar o caminho onde o evento aconteceu, para que os subscritores possam filtrar por segmentos desse caminho. O caminho permite aos subscritores filtrar eventos de forma estreita ou abrangente. Se fornecer um caminho de três segmentos, como /A/B/C no assunto, os subscritores podem filtrar pelo primeiro segmento /A para obter um vasto conjunto de eventos. Esses subscritores obtêm eventos com assuntos como /A/B/C ou /A/D/E. Outros subscritores podem filtrar por /A/B para obter um conjunto mais restrito de eventos.

Filtrar por valores em dados de eventos

Veja a secção Filtragem avançada no artigo Event Grid on Azure (Grelha de Eventos no Azure ) para saber mais sobre a filtragem avançada em detalhe. As seguintes funcionalidades e operadores não são suportados pelo Event Grid no Kubernetes.

  • Filtrar dados de matriz em chaves de eventos recebidos
  • Permitir a filtragem nos atributos de contexto das extensões cloudEvents.
  • Operadores seguintes
    • StringNotContains
    • StringNotBeginsWith
    • StringNotEndsWith
    • NumberInRange
    • NumberNotInRange
    • IsNullOrUndefined
    • IsNotNull

Passos seguintes

Para saber mais sobre destinos e processadores suportados pelo Event Grid no Azure Arc para Kubernetes, veja Event Grid no Kubernetes – Processadores de eventos.