En esta página se explica cómo resolver los problemas que pueden surgir al usar Eventarc.
Si tienes problemas específicos con los destinos, consulta las soluciones para los siguientes casos:
Proveedor de Eventarc
En esta sección se ofrecen consejos para solucionar problemas en la fuente de eventos (el proveedor).
El proveedor no existe
Comprueba que el proveedor exista y que hayas especificado los filtros de activación correctamente.
Se generan eventos desde el proveedor, pero no se reciben en el destino
Comprueba que estés filtrando los eventos de proveedores que se encuentren en una región admitida para el destino. Para obtener más información, consulta las ubicaciones admitidas por Eventarc y ¿Qué son las ubicaciones de Eventarc?
El activador no envía eventos
Comprueba que el proveedor esté generando eventos. Consulta los registros de auditoría de Cloud y comprueba que el servicio monitorizado esté escribiendo registros. Si se registran los registros, pero no se envían los eventos, ponte en contacto con el equipo de Asistencia.
Verifica que exista un tema de Pub/Sub con el mismo nombre de activador.
Para ver una lista de los activadores de todas las ubicaciones, ejecuta el siguiente comando:
gcloud eventarc triggers list --location=-
Para enumerar los temas de Pub/Sub, ejecuta el siguiente comando:
gcloud pubsub topics list
Verifica que el nombre del tema de Pub/Sub incluya el nombre del activador creado. Si falta el tema de Pub/Sub, crea un tema al crear el activador.
Para describir los activadores y detectar cualquier problema con la condición del activador, ejecuta lo siguiente:
gcloud eventarc triggers describe TRIGGER_ID \ --location=LOCATION
Haz los cambios siguientes:
TRIGGER_ID
: el ID del activador o un identificador completo.LOCATION
: la ubicación del activador de Eventarc.
El comando anterior devuelve el estado del activador. Si hay un problema con el tema de Pub/Sub, se devuelve una de las siguientes condiciones:
conditions: transport.pubsub.topic: code: NOT_FOUND message: Pub/Sub topic not found. Try recreating the trigger.
o
conditions: transport.pubsub.topic: code: UNKNOWN message: Pub/Sub topic status is unknown. Try requesting the trigger description again.
Si procede, haz lo siguiente:
Si se devuelve
Pub/Sub topic not found
, vuelve a crear el activador de un proveedor, un tipo de evento y un destino específicos](/eventarc/standard/docs/event-providers-targets#triggers) y, a continuación, crea el tema.Si se devuelve
Pub/Sub topic status is unknown
, ejecuta el comando para describir el activador de nuevo.Si el problema persiste, ponte en contacto con el equipo de Asistencia. Para obtener más información, consulta el artículo Gestionar activadores.
Verifica el estado del tema de Pub/Sub:
Verifica la configuración del tema de Pub/Sub. Ve a la página Temas.
Monitoriza si los mensajes se publican en el tema con la métrica:
topic/send_message_operation_count
. Si no se publican mensajes en el tema, consulta Cloud Audit Logs y comprueba que el servicio monitorizado esté emitiendo registros. Si se registran los registros, pero no se envían los eventos, ponte en contacto con el equipo de Asistencia.Monitoriza si los mensajes se envían correctamente con la métrica:
subscription/push_request_count
porresponse_code
. Si se informan errores de envío, consulta los registros del servicio. Si el endpoint receptor devuelve un código de estado distinto de OK, significa que el código de Cloud Run no funciona correctamente y debes ponerte en contacto con el equipo de Asistencia.
Activador de Eventarc
En esta sección se ofrecen consejos para solucionar problemas relacionados con el activador.
Errores de permiso denegado
Si se produce un error
Failed to load service details: permission denied
, comprueba que los permisos del activador estén configurados correctamente y que se haya concedido el roliam.serviceAccountTokenCreator
a la cuenta de servicio de Pub/Sub. Para obtener más información, consulta Control de acceso.Si aparece el siguiente error al intentar crear un activador, espera unos minutos (hasta siete) y vuelve a intentarlo:
Permission denied while using the Eventarc Service Agent. If you recently started to use Eventarc, it may take a few minutes before all necessary permissions are propagated to the Service Agent. Otherwise, verify that it has Eventarc Service Agent role.
Un agente de servicio actúa como identidad de un Google Cloud servicio determinado para un proyecto concreto. Para obtener más información, consulta Agentes de servicio y los permisos del rol de agente de servicio de Eventarc (
roles/eventarc.serviceAgent
).Para verificar que el agente de servicio de Eventarc existe en tu proyectoGoogle Cloud y tiene el rol necesario, sigue estos pasos:
En la consola, ve a la página Gestión de identidades y accesos. Google Cloud
En la pestaña Permisos, selecciona la casilla Incluir las asignaciones de roles proporcionadas por Google.
En la lista de principales, busca el agente de servicio de Eventarc, que tiene este formato:
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
Comprueba que el agente de servicio tenga el rol Agente de servicio de Eventarc. Si el agente de servicio no tiene el rol, concédele el rol.
Si intentas usar una cuenta de servicio entre proyectos y recibes un error de permiso denegado para
iam.serviceAccounts.getAccessToken
oiam.serviceAccounts.actAs
, o bien un mensaje de error similar a...cross-project service accounts are disabled
oFailed to impersonate...
, comprueba que los permisos estén configurados correctamente. Para obtener más información, consulta el artículo Usar una cuenta de servicio entre proyectos.
No se muestra la clave CMEK del tema de Pub/Sub
Habilitar un canal de Eventarc con una clave de cifrado gestionada por el cliente (CMEK) protege el tema de Pub/Sub que usa Eventarc Standard como capa de transporte. Sin embargo, la clave de CMEK no se muestra en laGoogle Cloud consola. Para comprobar que una clave CMEK está habilitada en el tema de Pub/Sub, puedes usar la CLI de Google Cloud:
Describe el activador de Eventarc:
gcloud eventarc triggers describe TRIGGER_ID \ --location=LOCATION
Haz los cambios siguientes:
TRIGGER_ID
: el ID de tu activador de EventarcLOCATION
: la ubicación del activadorSe devuelve el ID del tema de Pub/Sub. Por ejemplo:
topic: projects/PROJECT_ID/topics/TOPIC_ID
Describe el tema de Pub/Sub:
gcloud pubsub topics describe TOPIC_ID
Sustituye
TOPIC_ID
por el ID del tema de Pub/Sub que has obtenido en el paso anterior.Se devuelve el nombre de la clave CMEK. Por ejemplo:
kmsKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME/grants/GRANT_ID
Cargos inesperados al usar Eventarc
Cuando crees un activador, comprueba si los filtros configurados podrían provocar que los activadores se activen indefinidamente. Para evitar cargos inesperados en tu factura, define presupuestos y alertas en la consola de facturación de Google Cloud. Para obtener más información, consulta el artículo Crear un presupuesto.
Información relacionada
- Para obtener más información sobre Eventarc, consulta la descripción general.
- Para ver un tutorial sobre cómo solucionar problemas de Eventarc, consulta Depurar un servicio de Cloud Run con Eventarc.
- Si tienes problemas para publicar eventos, consulta el artículo Solucionar problemas de publicación de eventos.
- Si necesitas más ayuda, consulta el artículo Obtener asistencia.