Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
¿Cómo puedo solucionar los problemas con reglas de EventBridge?
Quiero resolver mi regla de Amazon EventBridge que no desencadena el objetivo.
Descripción corta
Para resolver tu regla de EventBridge que no desencadena el objetivo, sigue estos pasos:
- Confirma que se produjo el evento correspondiente.
- Confirma que el evento coincidió con el patrón de eventos de la regla.
- Confirma que el objetivo procesó correctamente el evento.
Resolución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Confirmar que se produjo el evento correspondiente
Haz lo siguiente:
- Si AWS CloudTrail capturó el evento, analiza los registros de CloudTrail. Comprueba que la llamada a la API se haya realizado en el momento previsto y que coincida con todos los campos del patrón de eventos.
Nota: Algunos servicios de AWS solo están disponibles en la región us-east-1. Por ejemplo, las llamadas a la API de AWS Identity and Access Management (IAM) solo se publican en la región de AWS us-east-1. Si creaste una regla en otra región, estos eventos no se reenvían a EventBridge y la regla no se desencadena. - La consola de EventBridge proporciona la herramienta de entorno de pruebas, que contiene ejemplos de eventos de AWS y de socios. Utiliza la herramienta para comparar el patrón de eventos con los eventos de AWS, de socios y personalizados. Como alternativa, utiliza la API TestEventPattern para confirmar la coincidencia entre el patrón de eventos y el evento.
- EventBridge proporciona métricas de TriggeredRules para informar de si se han obtenido eventos coincidentes correctamente con una regla. Usa las marcas de tiempo de la métrica TriggeredRules para revisar cuándo se produjo el evento.
Revisión de las métricas de CloudWatch
Para revisar las métricas de Amazon CloudWatch para una regla de EventBridge, sigue estos pasos:
- Abre la consola de CloudWatch.
- Selecciona Todas las métricas.
- Selecciona el espacio de nombres AWS/Events.
- Selecciona las métricas TriggeredRules, Invocations y FailedInvocations para la regla.
Nota: Puedes ver estas métricas con la estadística SUM.
Confirmar que el evento coincidió con el patrón de eventos de la regla
Para que se dé una coincidencia con un evento, todos los campos de un patrón de eventos deben coincidir. Utiliza la herramienta de entorno de pruebas para probar el evento con un patrón de eventos con unos cuantos campos. Usa un patrón de eventos simple como el siguiente:
{ "source": ["aws.s3"] }
Si obtienes coincidencias satisfactorias, aumenta la complejidad del patrón de eventos. Cada campo que agregues al patrón de eventos filtrará los eventos con los que coincide y reducirá el enfoque. Para obtener el patrón exacto, los usuarios pueden adjuntar temporalmente un grupo objetivo de Registros de CloudWatch o un tema de Amazon Simple Notification Service (Amazon SNS). Esta acción captura los eventos reenviados a los objetivos o aísla las configuraciones incorrectas de objetivos. También confirma que el evento se envió al objetivo y que el transformador de entrada se configuró correctamente.
En función del evento entregado al objetivo, reescribe el patrón para cumplir con los requisitos del usuario. A continuación se muestra un ejemplo de patrón de eventos:
{ "source": [ "aws.s3" ], "detail-type": [ "AWS API Call via CloudTrail" ], "detail": { "eventName": [ "PutObject", "DeleteObject", "DeleteObjects" ], "requestParameters": { "bucketName": [ "123456789012-prod-app1" ], "key": [ { "prefix": "feature1/" }, { "prefix": "feature2/" } ] } } }
Nota: El patrón coincide con una lista de llamadas a la API de Amazon Simple Storage Service (Amazon S3) con un bucket específico para un objeto que comienza con feature1 o feature2.
Puedes agregar campos gradualmente para aislar los campos que no coinciden con los eventos.
Confirmar que el objetivo procesó correctamente el evento
La métrica Invocations publica un punto de datos cuando una regla reenvía un evento a un objetivo que muestra las invocaciones correctas y con errores. EventBridge emite un punto de datos FailedInvocations cuando es incapaz de invocar el objetivo definitivamente. Este punto de datos indica problemas con la configuración del objetivo o problemas con permisos inadecuados.
EventBridge debe tener los permisos necesarios para invocar un objetivo. El rol de IAM o una política de recursos pueden conceder permisos para un objetivo. Cuando usas EventBridge para crear reglas, la consola agrega automáticamente los permisos necesarios a los recursos relacionados.
Nota: Configura los permisos si usas AWS SDK, la Interfaz de la línea de comandos de AWS (AWS CLI) o AWS CloudFormation para desplegar la regla.
Si no hay ningún punto de datos FailedInvocations, significa que EventBridge ha entregado el evento en el objetivo correctamente. Sin embargo, es posible que el objetivo no funcione correctamente. Por ejemplo, un objetivo de AWS Lambda puede encontrar errores cuando se ejecuta o se limita. Para obtener más información, revisa las métricas de CloudWatch del objetivo y los registros relevantes.
Para identificar la causa de FailedInvocations, asocia una cola de mensajes fallidos (DLQ) de Amazon Simple Queue Service (Amazon SQS) al objetivo.
Para configurar una DLQ en el objetivo, sigue estos pasos:
- Crea una cola de SQS.
- Selecciona la regla del evento y, a continuación, elige Editar.
- Selecciona la pestaña Objetivos y, a continuación, elige Editar.
- Amplía la pestaña Configuración adicional del objetivo para el que deseas configurar la política de reintentos.
- En la sección Cola de mensajes fallidos, selecciona una opción en función de si la DLQ de SQS está en la misma cuenta o en una diferente.
- Elige Selecciona una cola de Amazon SQS en la cuenta actual de AWS para usar como cola de mensajes fallidos y, a continuación, selecciona el nombre de la cola de SQS.
- Selecciona Actualizar.
Si hay alguna invocación fallida de la regla, la DLQ registra el mensaje de error. Para revisar el error, sigue estos pasos:
- En la cola de SQS, elige Enviar y recibir mensajes.
- Elige Sondeo de mensajes.
- Selecciona un mensaje de error y, a continuación, ve a la sección Atributos.
A continuación, se muestra un ejemplo de un mensaje de una DLQ que muestra que EventBridge no tiene los permisos necesarios para invocar el objetivo de Lambda:
"MessageAttributes": { "ERROR_CODE": { "StringValue": "NO_PERMISSIONS", "DataType": "String" }, "ERROR_MESSAGE": { "StringValue": "User: events.amazonaws.com is not authorized to perform: lambda:InvokeFunction on resource: arn:aws:lambda:us-east-1:123456789012:function:Hello_World because no resource-based policy allows the lambda:InvokeFunction action (Service: AWSLambdaInternal; Status Code: 403; Error Code: AccessDeniedException; Request ID: 6635c4c4-9c54-416e-bc40-ef25bad0aca5; Proxy: null)", "DataType": "String" },
Información relacionada
Solución de problemas de Amazon EventBridge
¿Por qué la regla de EventBridge no ha desencadenado la función de Lambda?
¿Cómo soluciono los errores en el Programador de EventBridge?
Uso de colas de mensajes fallidos para procesar eventos no entregados en EventBridge
- Etiquetas
- Amazon EventBridge
- Idioma
- Español

Contenido relevante
- preguntada hace 4 meses
- preguntada hace 3 meses
- preguntada hace un año
- preguntada hace 10 meses
OFICIAL DE AWSActualizada hace 10 meses