Solucionar problemas de Eventarc para Workflows

En esta página se explica cómo resolver los problemas que pueden surgir al usar Eventarc para Workflows.

Si tienes otros problemas, consulta las soluciones para los siguientes casos:

No se puede crear el activador porque no existe el destino del flujo de trabajo

Recibes un mensaje de error similar al siguiente:

cloud workflow "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID" does not exist
Esta salida incluye los siguientes valores:

  • PROJECT_ID: tu ID de proyecto Google Cloud
  • LOCATION: la ubicación de tu flujo de trabajo
  • WORKFLOW_ID: el nombre del flujo de trabajo

Esto ocurre cuando Eventarc no puede encontrar el flujo de trabajo de destino. Para solucionarlo, haz lo siguiente:

  1. Asegúrate de que el flujo de trabajo de destino existe y está ACTIVO:

    gcloud workflows list --location -

    La salida debería ser similar a la siguiente:

    NAME                                                          STATE   REVISION_ID  UPDATE_TIME
    projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID  ACTIVE  000004-c0c   2021-11-19T14:29:27.530185556Z

  2. Asegúrate de haber proporcionado el ID y la ubicación del flujo de trabajo correctos al crear el activador.

El activador se ha creado correctamente, pero el destino no recibe eventos

Comprueba que haya transcurrido suficiente tiempo desde que creaste el activador. Los eventos pueden tardar hasta dos minutos en enviarse.

Si el activador sigue sin funcionar y no se envían eventos:

  1. Es posible que se estén descartando los eventos enviados desde Pub/Sub al destino. Para asegurarte de que no se pierdan eventos, configura una política de reintentos de suscripción de Pub/Sub o reenvía los mensajes no entregados a un tema de mensajes fallidos (también conocido como cola de mensajes fallidos).

    Antes de definir el tema de mensajes fallidos, recupera el tema y la suscripción del activador:

    gcloud eventarc triggers describe TRIGGER \
    --location=LOCATION

    Haz los cambios siguientes:

    • TRIGGER: el ID del activador o un identificador completo.
    • LOCATION: la ubicación del activador de Eventarc.
  2. Usa la Google Cloud consola para monitorizar si se publican mensajes en el tema de Pub/Sub con la métrica topic/send_message_operation_count.

  3. Si no se publican mensajes en el tema de Pub/Sub, comprueba que la fuente esté generando eventos:

    • En el caso de los eventos de los registros de auditoría de Cloud, consulta los registros 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.
    • En el caso de los eventos de Cloud Storage, consulta las notificaciones de tu segmento:

      gcloud storage buckets notifications list gs://BUCKET_NAME
      Sustituye BUCKET_NAME por el nombre del segmento.
      La salida debería ser similar a la siguiente:

      projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_CONFIG_ID
      Cloud Pub/Sub topic: projects/PROJECT_ID/topics/TOPIC_ID
      Filters:
        Event Types: OBJECT_ARCHIVE

      Esta salida incluye los siguientes valores:

      • TOPIC_ID: el ID del tema de Pub/Sub.
      • NOTIFICATION_CONFIG_ID: el ID de la configuración de la notificación.
  4. Si los eventos se están enviando, pero no se activan ejecuciones de flujo de trabajo, probablemente se deba a una invocación no autenticada. Asegúrate de que el activador esté asociado a una cuenta de servicio que tenga permiso para crear ejecuciones de flujo de trabajo. Para obtener más información, sigue las instrucciones para crear una cuenta de servicio gestionada por el usuario en la sección "Preparar la creación de un activador" al crear un activador para un proveedor, un tipo de evento y un destino de Workflows específicos.

  5. Si se publican mensajes en un tema de Pub/Sub, pero no se activan ejecuciones de flujo de trabajo, asegúrate de que la carga útil de Eventarc no supere los 512 KB. Para obtener más información sobre los límites de recursos, consulta Cuotas y límites.

    1. En la consola de Cloud, ve a la página Suscripciones.

      Ir a Suscripciones

    2. Monitoriza los mensajes no confirmados de la suscripción. Para obtener más información, consulta Monitorizar mensajes no entregados reenviados.

    3. Si hay mensajes sin confirmar, monitoriza los registros del flujo de trabajo para ver el método TriggerPubsubExecution. Para obtener más información sobre cómo ver los registros de flujo de trabajo, consulta Ver registros de flujo de trabajo.

      • Usa el filtro Permission 'workflows.executions.create' denied para comprobar si el activador está asociado a una cuenta de servicio que tenga permiso para activar ejecuciones de flujo de trabajo. Para obtener más información sobre cómo asignar los roles adecuados a la cuenta de servicio, sigue las instrucciones de la sección "Preparar la creación de un activador" al crear un activador para un proveedor, un tipo de evento y un destino de Workflows específicos.
      • Usa la palabra clave event size exceeded para verificar si el tamaño del evento supera los 512 KB.
    4. Si se registran los registros, pero no se envían los eventos, ponte en contacto con el equipo de Asistencia.