Risolvere i problemi di Eventarc per Workflows

Questa pagina mostra come risolvere i problemi che potresti riscontrare quando utilizzi Eventarc per Workflows.

Per altri problemi che potresti riscontrare, consulta la risoluzione dei problemi per:

La creazione del trigger non riesce perché la destinazione del flusso di lavoro non esiste

Ricevi un messaggio di errore simile al seguente:

cloud workflow "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID" does not exist
Questo output include i seguenti valori:

  • PROJECT_ID: il tuo ID progetto Google Cloud
  • LOCATION: la posizione del flusso di lavoro
  • WORKFLOW_ID: il nome del flusso di lavoro

Ciò si verifica quando Eventarc non riesce a trovare il flusso di lavoro di destinazione. Per risolvere questo problema:

  1. Assicurati che il flusso di lavoro di destinazione esista e sia ATTIVO:

    gcloud workflows list --location -

    L'output dovrebbe essere simile al seguente:

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

  2. Assicurati di aver fornito l'ID e la posizione del flusso di lavoro corretti quando crei il trigger.

Il trigger è stato creato correttamente, ma la destinazione non riceve eventi

Verifica che sia trascorso un tempo sufficiente dalla creazione del trigger. Potrebbero essere necessari fino a due minuti prima dell'invio degli eventi.

Se il trigger continua a non funzionare e gli eventi non vengono inviati:

  1. Gli eventi inviati da Pub/Sub alla destinazione potrebbero essere eliminati. Per assicurarti che gli eventi non vengano eliminati, configura un criterio di ripetizione dell'abbonamento Pub/Sub o inoltra i messaggi non recapitati a un argomento dead letter (noto anche come coda dead letter).

    Prima di impostare l'argomento messaggi non recapitabili, recupera l'argomento e l'abbonamento del trigger:

    gcloud eventarc triggers describe TRIGGER \
    --location=LOCATION

    Sostituisci quanto segue:

    • TRIGGER: l'ID del trigger o un identificatore completamente qualificato.
    • LOCATION: la posizione del trigger Eventarc.
  2. Utilizza la console Google Cloud per monitorare se i messaggi vengono pubblicati nell'argomento Pub/Sub con la metrica topic/send_message_operation_count.

  3. Se i messaggi non vengono pubblicati nell'argomento Pub/Sub, verifica che l'origine generi eventi:

    • Per gli eventi di Cloud Audit Logs, controlla i log e assicurati che il servizio monitorato stia scrivendo i log. Se i log vengono registrati, ma gli eventi non vengono recapitati, contatta l'assistenza.
    • Per gli eventi di Cloud Storage, controlla le notifiche per il tuo bucket:

      gcloud storage buckets notifications list gs://BUCKET_NAME
      Sostituisci BUCKET_NAME con il nome del bucket.
      L'output dovrebbe essere simile al seguente:

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

      Questo output include i seguenti valori:

      • TOPIC_ID: l'ID dell'argomento Pub/Sub esistente.
      • NOTIFICATION_CONFIG_ID: l'ID della configurazione delle notifiche.
  4. Se gli eventi vengono pubblicati, ma non vengono attivate esecuzioni del workflow, probabilmente ciò è dovuto a un'invocazione non autenticata. Assicurati che il trigger sia associato a un account di servizio che disponga dell'autorizzazione per creare esecuzioni del flusso di lavoro. Per ulteriori informazioni, segui le istruzioni per creare un account di servizio gestito dall'utente nella sezione "Prepararsi a creare un trigger" quando crei un trigger per una destinazione specifica di provider, tipo di eventoWorkflows di lavoro .

  5. Se i messaggi vengono pubblicati in un argomento Pub/Sub, ma non vengono attivate esecuzioni del flusso di lavoro, assicurati che il payload Eventarc non superi i 512 KB. Per ulteriori informazioni sui limiti delle risorse, consulta Quote e limiti.

    1. Nella console Cloud, vai alla pagina Abbonamenti.

      Vai agli abbonamenti

    2. Monitora i messaggi non confermati nella sottoscrizione. Per ulteriori informazioni, consulta Monitoraggio dei messaggi non recapitabili inoltrati.

    3. Se sono presenti messaggi non confermati, monitora i log del flusso di lavoro per il metodo TriggerPubsubExecution. Per saperne di più sulla visualizzazione dei log del workflow, vedi Visualizzare i log del workflow.

      • Utilizza il filtro Permission 'workflows.executions.create' denied per verificare se il trigger è associato a un account di servizio che dispone dell'autorizzazione per attivare le esecuzioni del flusso di lavoro. Per ulteriori informazioni su come concedere i ruoli appropriati al account di servizio, segui le istruzioni nella sezione "Prepararsi a creare un trigger" quando crei un trigger per una destinazione specifica di provider, tipo di evento e Workflows lavoro.
      • Utilizza la parola chiave event size exceeded per verificare se la dimensione dell'evento supera i 512 KB.
    4. Se i log vengono registrati, ma gli eventi non vengono recapitati, contatta l'assistenza.