Resolver problemas do Eventarc no Workflows

Nesta página, você aprende a resolver problemas que podem ser encontrados ao usar o Eventarc para Workflows.

Para outros problemas que você possa encontrar, consulte a solução de problemas para:

A criação do gatilho falha porque o destino do fluxo de trabalho não existe

Você recebe uma mensagem de erro semelhante a esta:

cloud workflow "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID" does not exist
Esta saída inclui os seguintes valores:

  • PROJECT_ID: o ID do projeto do Google Cloud
  • LOCATION: o local do fluxo de trabalho
  • WORKFLOW_ID: o nome do fluxo de trabalho

Isso ocorre quando o Eventarc não consegue encontrar o fluxo de trabalho de destino. Para solucionar o problema:

  1. Verifique se o fluxo de trabalho de destino existe e está ATIVO:

    gcloud workflows list --location -

    A saída será semelhante a esta:

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

  2. Verifique se você forneceu o ID e o local corretos do fluxo de trabalho ao criar o gatilho.

O gatilho foi criado, mas o destino não está recebendo eventos

Verifique se já passou tempo suficiente desde a criação do gatilho. Pode levar até dois minutos para que os eventos sejam enviados.

Se o gatilho ainda não está funcionando e os eventos não estão sendo entregues:

  1. Os eventos enviados do Pub/Sub para o destino podem estar sendo removidos. Para garantir que os eventos não sejam removidos, configure uma política de novas tentativas na assinatura do Pub/Sub ou encaminhe as mensagens não entregues para um tópico de mensagens inativas, também conhecido como fila de mensagens inativas.

    Antes de definir o tópico de mensagens inativas, recupere o tópico e a assinatura do gatilho:

    gcloud eventarc triggers describe TRIGGER \
    --location=LOCATION

    Substitua:

    • TRIGGER: o ID do gatilho ou um identificador totalmente qualificado.
    • LOCATION: o local do gatilho do Eventarc.
  2. Use o console do Google Cloud para monitorar se as mensagens são publicadas no tópico do Pub/Sub com a métrica: topic/send_message_operation_count.

  3. Se as mensagens não estiverem sendo publicadas no tópico do Pub/Sub, verifique se a origem está gerando eventos:

    • No caso de eventos dos Registros de auditoria do Cloud, verifique os registros e confirme se o serviço monitorado está fazendo a gravação deles. Se os registros forem gravados, mas os eventos não forem entregues, entre em contato com o suporte.
    • No caso de eventos do Cloud Storage, verifique as notificações do bucket:

      gsutil notification list gs://BUCKET_NAME
      Substitua BUCKET_NAME pelo nome do bucket.
      A saída será semelhante ao seguinte:

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

      Esta saída inclui os seguintes valores:

      • TOPIC_ID: o ID do tópico atual do Pub/Sub.
      • NOTIFICATION_CONFIG_ID: o ID da configuração de notificação.
  4. Se os eventos são entregues, mas nenhuma execução de fluxo de trabalho é acionada, isso pode ser devido a uma invocação não autenticada. Verifique se o gatilho está associado a uma conta de serviço que tenha permissão para criar execuções de fluxo de trabalho. Para mais informações, siga as instruções a fim de criar uma conta de serviço gerenciada pelo usuário na seção "Preparar-se para criar um gatilho" ao criar um gatilho para provedores, tipos de evento e destinos do Workflows específicos .

  5. Se as mensagens forem publicadas em um tópico do Pub/Sub, mas nenhuma execução de fluxo de trabalho for acionada, verifique se o payload do Eventarc não tem mais de 512 KB. Para mais informações sobre limites de recursos, consulte Cotas e limites.

    1. No console do Cloud, acesse a página Assinaturas.

      Acessar "Assinaturas"

    2. Monitore as mensagens não confirmadas na assinatura. Para mais informações, consulte Como monitorar mensagens não entregues encaminhadas.

    3. Se houver mensagens não confirmadas, monitore os registros do fluxo de trabalho para o método TriggerPubsubExecution. Para mais informações sobre a exibição dos registros do fluxo de trabalho, consulte Exibir registros do fluxo de trabalho.

      • Use o filtro Permission 'workflows.executions.create' denied para verificar se o gatilho está associado a uma conta de serviço que tenha permissão para acionar execuções de fluxo de trabalho. Para mais informações sobre como conceder os papéis apropriados à conta de serviço, siga as instruções na seção "Preparar-se para criar um gatilho" ao criar um gatilho para provedores, tipos de evento e destinos do Workflows específicos.
      • Use a palavra-chave event size exceeded para verificar se o tamanho do evento é superior a 512 KB.
    4. Se os registros forem gravados, mas os eventos não forem entregues, entre em contato com o suporte.