As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Criação de padrões de eventos em EventBridge
Para criar um padrão de evento, especifique os campos aos quais o padrão de evento deve corresponder. Especifique somente os campos usados para fazer a correspondência.
Por exemplo, o exemplo de padrão de evento a seguir fornece valores somente para três campos: os campos de nível superior "source"
e"detail-type"
, e o "state"
campo dentro do campo do "detail"
objeto. EventBridgeignora todos os outros campos do evento ao aplicar a regra.
{
"source": ["aws.ec2"],
"detail-type": ["EC2 Instance State-change Notification"],
"detail": {
"state": ["terminated"]
}
}
Para que um padrão de evento corresponda a um evento, o evento deve conter todos os nomes de campos listados no padrão do evento. Os nomes de campos também devem aparecer no evento com a mesma estrutura de aninhamento.
Ao escrever padrões de eventos para corresponder a eventos, você pode usar o test-event-pattern
CLI comando TestEventPattern
API ou o para testar se o padrão corresponde aos eventos corretos. Para obter mais informações, consulte TestEventPattern.
Valores de eventos correspondentes
Em um padrão de evento, o valor correspondente está em uma JSON matriz, entre colchetes (“[”, “]”) para que você possa fornecer vários valores. Por exemplo, para combinar eventos da Amazon EC2 ou AWS Fargate, você pode usar o seguinte padrão, que corresponde a eventos em que o valor do "source"
campo é "aws.ec2"
ou"aws.fargate"
.
{
"source": ["aws.ec2", "aws.fargate"]
}
Para obter mais informações, consulte Correspondência em vários valores de campo.
Usando operadores de comparação nos padrões de EventBridge eventos da Amazon
A Amazon EventBridge oferece suporte à filtragem declarativa de conteúdo usando padrões de eventos. Com a filtragem de conteúdo, é possível escrever padrões de eventos complexos que só são acionados sob condições muito específicas. Por exemplo, é possível criar um padrão de evento que corresponda a um evento quando:
-
Um campo do evento está dentro de um intervalo numérico específico.
-
O evento vem de um endereço IP específico.
-
Não existe um campo específico no eventoJSON.
Para obter mais informações, consulte Operadores de comparação.
Considerações ao criar padrões de eventos
A seguir, algumas considerações ao criar seus padrões de eventos:
EventBridge ignora os campos do evento que não estão incluídos no padrão do evento. O efeito é que há um curinga
"*": "*"
para campos que não aparecem no padrão do evento.Os valores aos quais os padrões de eventos correspondem seguem JSON regras. Você pode incluir strings entre aspas (“), números e as palavras-chave
true
,false
enull
.Para strings, EventBridge usa a character-by-character correspondência exata sem dobrar maiúsculas e minúsculas ou qualquer outra normalização de string.
Para números, EventBridge usa representação de string. Por exemplo, 300, 300.0 e 3.0e2 não são considerados iguais.
Se vários padrões forem especificados para o mesmo JSON campo, usará EventBridge somente o último.
-
Lembre-se de que, ao EventBridge compilar padrões de eventos para uso, ele usa ponto (.) como caractere de junção.
Isso significa que EventBridge tratará os seguintes padrões de eventos como idênticos:
## has no dots in keys { "detail" : { "state": { "status": [ "running" ] } } } ## has dots in keys { "detail" : { "state.status": [ "running" ] } }
E que os dois padrões de eventos corresponderão aos dois seguintes eventos:
## has no dots in keys { "detail" : { "state": { "status": "running" } } } ## has dots in keys { "detail" : { "state.status": "running" } }
nota
Isso descreve EventBridge o comportamento atual e não se deve confiar que não mude.
-
Os padrões de eventos contendo campos duplicados são inválidos. Se um padrão contiver campos duplicados, considerará EventBridge apenas o valor final do campo.
Por exemplo, os seguintes padrões de eventos corresponderão ao mesmo evento:
## has duplicate keys { "source": ["aws.s3"], "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["s3.amazonaws.com"], "eventSource": ["sns.amazonaws.com"] } } ## has unique keys { "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["sns.amazonaws.com"] } }
E EventBridge trata os dois eventos a seguir como idênticos:
## has duplicate keys { "source": ["aws.s3"], "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": [ { "eventSource": ["s3.amazonaws.com"], "eventSource": ["sns.amazonaws.com"] } ] } ## has unique keys { "source": ["aws.sns"], "detail-type": ["AWS API Call via CloudTrail"], "detail": [ { "eventSource": ["sns.amazonaws.com"] } ] }
nota
Isso descreve EventBridge o comportamento atual e não se deve confiar que não mude.