Resolva problemas do Eventarc para fluxos de trabalho

Esta página mostra como resolver problemas que pode encontrar quando usa o Eventarc para Workflows.

Para outros problemas que também possa encontrar, consulte a resolução de problemas para:

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

Recebe uma mensagem de erro semelhante à seguinte:

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 seu Google Cloud projeto
  • LOCATION: a localização do seu fluxo de trabalho
  • WORKFLOW_ID: o nome do seu fluxo de trabalho

Isto ocorre quando o Eventarc não consegue encontrar o fluxo de trabalho de destino. Para resolver este problema:

  1. Certifique-se de que o fluxo de trabalho de destino existe e está ATIVO:

    gcloud workflows list --location -

    O resultado deve ser semelhante ao seguinte:

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

  2. Certifique-se de que indicou o ID do fluxo de trabalho e a localização do fluxo de trabalho corretos ao criar o acionador.

O acionador é criado com êxito, mas o destino não está a receber eventos

Verifique se já passou tempo suficiente desde a criação do acionador. Pode demorar até dois minutos até os eventos serem enviados.

Se o acionador continuar a não funcionar e os eventos não estiverem a ser enviados:

  1. Os eventos enviados do Pub/Sub para o destino podem estar a ser ignorados. Para garantir que os eventos não são ignorados, configure uma política de repetição de subscrição do Pub/Sub ou encaminhe as mensagens não entregues para um tópico de mensagens não entregues (também conhecido como uma fila de mensagens não entregues).

    Antes de definir o tópico de mensagens não entregues, obtenha o tópico e a subscrição do acionador:

    gcloud eventarc triggers describe TRIGGER \
    --location=LOCATION

    Substitua o seguinte:

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

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

    • Para eventos dos registos de auditoria do Cloud, verifique os registos e certifique-se de que o serviço monitorizado está a escrever registos. Se os registos forem gravados, mas os eventos não forem enviados, contacte o apoio técnico.
    • Para eventos do Cloud Storage, verifique as notificações do seu contentor:

      gcloud storage buckets notifications list gs://BUCKET_NAME
      Substitua BUCKET_NAME pelo nome do contentor.
      O resultado deve 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 do Pub/Sub existente.
      • NOTIFICATION_CONFIG_ID: o ID da configuração de notificação.
  4. Se os eventos estiverem a ser enviados, mas não estiverem a ser acionadas execuções de fluxos de trabalho, é provável que isso se deva a uma invocação não autenticada. Certifique-se de que o acionador está associado a uma conta de serviço que tem autorização para criar execuções de fluxo de trabalho. Para mais informações, siga as instruções para criar uma conta de serviço gerida pelo utilizador na secção "Prepare-se para criar um acionador" quando criar um acionador para um fornecedor, um tipo de evento e um destino dos fluxos de trabalho específicos .

  5. Se as mensagens forem publicadas num tópico do Pub/Sub, mas não forem acionadas execuções de fluxo de trabalho, certifique-se de que a carga útil do Eventarc não tem mais de 512 KB. Para mais informações sobre os limites de recursos, consulte o artigo Quotas e limites.

    1. Na Cloud Console, aceda à página Subscrições.

      Aceder a Subscrições

    2. Monitorize as mensagens não reconhecidas na subscrição. Para mais informações, consulte o artigo Monitorização de mensagens não entregues encaminhadas.

    3. Se existirem mensagens não reconhecidas, monitorize os registos do fluxo de trabalho para o método TriggerPubsubExecution. Para mais informações sobre como ver registos de fluxos de trabalho, consulte o artigo Veja registos de fluxos de trabalho.

      • Use o filtro Permission 'workflows.executions.create' denied para verificar se o acionador está associado a uma conta de serviço que tem autorização para acionar execuções do fluxo de trabalho. Para mais informações sobre como conceder as funções adequadas à conta de serviço, siga as instruções na secção "Prepare-se para criar um acionador" quando criar um acionador para um fornecedor, um tipo de evento e um destino dos fluxos de trabalho específicos.
      • Use a palavra-chave event size exceeded para verificar se o tamanho do evento é superior a 512 KB.
    4. Se os registos forem gravados, mas os eventos não forem enviados, contacte o apoio técnico.