Ao processar fluxos de eventos, geralmente você precisa rotear apenas eventos específicos para destinos downstream — por exemplo, encaminhar somente eventos de uma determinada origem ou que atinjam um limiar numérico. Os padrões de eventos permitem definir regras de filtro baseadas em JSON para selecionar eventos por valores de campo, prefixos, intervalos numéricos, endereços IP e outros critérios. Assim, apenas os eventos relevantes chegam aos seus destinos.
Um padrão de evento deve ter a mesma estrutura dos eventos filtrados. Cada campo no padrão corresponde a um campo no evento, e o sistema roteia para o destino somente os eventos que coincidem com todos os campos especificados.
Estrutura do padrão
Um padrão de evento é um objeto JSON cujos campos correspondem aos campos dos eventos que você deseja filtrar. O sistema avalia os campos presentes no padrão e ignora os ausentes (tratados como curingas).
Exemplo: O padrão a seguir corresponde a eventos em que source é acs.oss:
{
"source": ["acs.oss"]
}
Os valores de campo em um padrão são arrays. Um evento corresponde se o valor do campo for igual a qualquer elemento do array (lógica OU). Quando há vários campos, todos devem corresponder (lógica E).
Tipos de padrão compatíveis
O EventBridge oferece suporte aos seguintes tipos de padrão para fluxos de eventos:
|
Tipo de padrão |
Funcionalidade |
Exemplo de sintaxe |
|
Correspondência de valor de campo |
Filtra eventos em que um campo é igual a um valor específico |
|
|
Correspondência de prefixo |
Identifica eventos cujo valor de campo começa com uma string especificada |
|
|
Correspondência de sufixo |
Selecione eventos cujo valor de campo termina com uma string especificada |
|
|
Correspondência por exclusão |
Captura eventos em que o valor de um campo difere dos valores especificados |
|
|
Correspondência numérica |
Avalia eventos em que um campo numérico atende a uma condição de valor ou intervalo |
|
|
Correspondência de endereço IP |
Verifica se um campo |
Usa o endereço IP em um campo |
|
Correspondência de condição combinada |
Agrupa várias regras de filtro (prefixo, sufixo, numérico, IP) em um único padrão |
Combina qualquer um dos tipos acima em uma única regra |
|
Correspondência de array |
Detecta eventos em que um campo do tipo array contém elementos especificados |
Corresponde se a interseção do array não estiver vazia |
|
Correspondência de valor nulo ou string vazia |
Localiza eventos em que o valor de um campo é nulo ou uma string vazia |
|
|
Correspondência de existência |
Filtra eventos com base na existência de um campo em |
|
Para obter a sintaxe completa e exemplos de uso de cada tipo de padrão, consulte Padrões de eventos.
Lógica de correspondência de padrões
Ao definir um padrão de evento, observe as seguintes regras:
Lógica E entre campos: Todos os campos especificados no padrão devem corresponder para que um evento passe pelo filtro.
Lógica OU dentro de um campo: Se o valor de um campo for um array com múltiplos elementos, o evento corresponderá caso o campo seja igual a qualquer um desses elementos.
Campos aninhados: Para corresponder a campos de evento aninhados (como campos dentro de
data), aninhe os campos do padrão adequadamente. A estrutura do padrão deve espelhar a estrutura do evento em todos os níveis.