Grade de Eventos no Kubernetes - filtragem de eventos para assinaturas

A Grade de Eventos no Kubernetes permite especificar filtros em qualquer propriedade no conteúdo json. Esses filtros são modelados como conjunto de condições AND, nos quais cada condição externa tem condições internas OR opcionais. Para cada condição AND, você especifica os seguintes valores:

  • OperatorType: o tipo de comparação.
  • Key - O caminho JSON para a propriedade na qual aplicar o filtro.
  • Value - O valor de referência no qual o filtro é executado (ou) Values - O conjunto de valores de referência no qual o filtro é executado.

Importante

A Grade de Eventos no Kubernetes com Azure Arc está atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

Filtrar por tipo de evento

Por padrão, todos os tipos de evento (atributo type) para a origem do evento são enviadas para o ponto de extremidade. Você pode optar por enviar somente determinados tipos de evento para seu ponto de extremidade. A sintaxe JSON para filtrar por tipo de evento é:

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

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

Veja um exemplo de evento:

[{
      "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 filtragem por assunto é:

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

Por exemplo, o filtro configurado acima enviará todos os pedidos associados à conta acct-123224 para o ponto de extremidade do assinante.

Ao publicar os eventos em tópicos personalizados, crie assuntos para os eventos que tornem mais fácil aos assinantes reconhecer se estão interessados no evento. Os assinantes usam a propriedade de assunto para filtrar e rotear eventos. Considere adicionar o caminho do acontecimento do evento para que os assinante possam filtrar por segmentos desse caminho. O caminho permite que os assinantes filtrem eventos de maneira restrita ou ampla. Se você fornecer um caminho de três segmentos como /A/B/C no assunto, os assinantes poderão filtrar pelo primeiro segmento /A para obter um conjunto amplo de eventos. Esses assinantes recebem eventos com assuntos como /A/B/C ou /A/D/E. Outros assinantes podem filtrar por /A/B para obter um conjunto de eventos mais restrito.

Filtrar por valores em dados de evento

Consulte a seção Filtragem avançada no artigo Grade de Eventos no Azure para saber mais sobre a filtragem avançada em detalhes. Os seguintes recursos e operadores não são suportados pela Grade de Eventos no Kubernetes.

  • Filtragem em dados de matriz em chaves de eventos de entrada
  • Permissão da filtragem em atributos de contexto de extensões do CloudEvents.
  • Operadores seguintes
    • StringNotContains
    • StringNotBeginsWith
    • StringNotEndsWith
    • NumberInRange
    • NumberNotInRange
    • IsNullOrUndefined
    • IsNotNull

Próximas etapas

Para saber mais sobre os destinos e os manipuladores com suporte na Grade de Eventos no Azure Arc para Kubernetes, consulte Grade de Eventos no Kubernetes – Manipuladores de eventos.