Patrones de eventos de Amazon EventBridge
Lo más probable es que no desee procesar todos los eventos que se envían a un bus de eventos o una canalización determinados. Más bien, lo más probable es que desee seleccionar un subconjunto de todos los eventos entregados, en función del origen del evento, el tipo de evento o los atributos de esos eventos.
Para especificar qué eventos enviar a un destino, debe crear un patrón de eventos. Un patrón de eventos define los datos que EventBridge utiliza para determinar si se debe enviar el evento al destino. Si el patrón de eventos coincide con el evento, EventBridge envía el evento al destino. Los patrones de eventos tienen la misma estructura que los eventos con los que coinciden. Un patrón de eventos coincide con un evento o no lo hace.
Por ejemplo, considere el siguiente evento de Amazon EC2:
{
"version": "0",
"id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
"detail-type": "EC2 Instance State-change Notification",
"source": "aws.ec2",
"account": "111122223333",
"time": "2017-12-22T18:43:48Z",
"region": "us-west-1",
"resources": [
"arn:aws:ec2:us-west-1:123456789012:instance/i-1234567890abcdef0"
],
"detail": {
"instance-id": "i-1234567890abcdef0",
"state": "terminated"
}
}El siguiente patrón de eventos selecciona todos los eventos instance-termination de Amazon EC2. Para ello, el patrón de eventos especifica tres requisitos para que coincidan con un evento:
El origen del evento debe ser Amazon EC2.
El evento debe ser una notificación de cambios de estado de Amazon EC2.
El estado de la instancia de Amazon EC2 debe ser
terminated.
{
"source": ["aws.ec2"],
"detail-type": ["EC2 Instance State-change Notification"],
"detail": {
"state": ["terminated"]
}
}Tenga en cuenta que en este ejemplo, el patrón del evento incluye campos sobre el evento (source y detail-type), así como un campo del cuerpo de evento (state).
importante
En EventBridge, es posible crear reglas que pueden generar cargos y limitaciones superiores a lo esperado. Por ejemplo, puede crear inadvertidamente una regla que conduzca a un bucle infinito, en el que una regla se active de forma recursiva sin fin. Imagine que creó una regla puede detectar que las ACL han cambiado en un bucket de Amazon S3 y activar software para cambiarlas al estado deseado. Si la regla no se ha escrito minuciosamente, un nuevo cambio de las ACL vuelve a activar la regla, lo que crea un bucle infinito.
Para obtener orientación sobre cómo escribir reglas y patrones de eventos precisos para minimizar estos resultados inesperados, consulte Prácticas recomendadas para las reglas y Prácticas recomendadas.
Patrones de eventos para los buses de eventos
Para los buses de eventos, puede especificar un patrón de eventos para cada regla que cree para el bus. De esta forma, puede seleccionar qué eventos enviar a destinos específicos. Los patrones de eventos de los buses de eventos pueden coincidir con el origen del evento, los metadatos del evento o los valores de detalle del evento.
En el siguiente vídeo se analizan los aspectos básicos de los patrones de eventos de los buses de eventos:
Patrones de eventos para canalizaciones de EventBridge
Para las canalizaciones de EventBridge, puede especificar patrones de eventos para filtrar los eventos del origen de la canalización que desea que se envíen al destino de la canalización. Como cada canalización tiene un único origen de eventos, los patrones de eventos de las canalizaciones pueden coincidir con los metadatos o los valores de detalle de los eventos.
No todos los campos de eventos se pueden utilizar para crear patrones de eventos de canalizaciones. Para obtener más información, consulte Filtrado.