Risolvere i problemi di Eventarc per Workflows

Questa pagina mostra come risolvere i problemi che potresti riscontrare durante l'utilizzo di Eventarc per Workflows.

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

La creazione dell'attivatore 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 Google Cloud ID progetto
  • LOCATION: la posizione del flusso di lavoro
  • WORKFLOW_ID: il nome del flusso di lavoro

Ciò si verifica quando Eventarc non è in grado di trovare il flusso di lavoro di destinazione. Per risolvere il 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 prilikom stvaranja aktivatora.

L'attivatore è stato creato correttamente, ma il target non riceve eventi

Verifica che sia trascorso tempo sufficiente dalla creazione dell'attivatore. Potrebbero essere necessari fino a due minuti prima che gli eventi vengano inviati.

Se l'attivatore continua a non funzionare e gli eventi non vengono inviati:

  1. Gli eventi inviati da Pub/Sub al target potrebbero essere persi. Per assicurarti che gli eventi non vengano eliminati, imposta un criterio di ripetizione dell'abbonamento Pub/Sub o inoltra i messaggi non recapitati a un argomento per email inutilizzate (noto anche come coda per email inutilizzate).

    Prima di impostare l'argomento messaggi non recapitabili, recupera l'argomento e l'iscrizione dell'attivatore:

    gcloud eventarc triggers describe TRIGGER \
    --location=LOCATION

    Sostituisci quanto segue:

    • TRIGGER: l'ID dell'attivatore o un identificatore completamente qualificato.
    • LOCATION: la posizione dell'attivatore 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 la sorgente stia generando 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 inviati, contatta l'assistenza.
    • Per gli eventi di Cloud Storage, controlla le notifiche per il tuo bucket:

      gsutil notification 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 della notifica.
  4. Se gli eventi vengono pubblicati, ma non vengono attivate esecuzioni del flusso di lavoro, è probabile che si tratti di un'invocazione non autenticata. Assicurati che l'attivatore sia associato a un account di servizio che abbia l'autorizzazione per creare esecuzioni di flussi 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 un provider, un tipo di evento e una destinazione di Workflows specifici.

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

    1. Nella console Cloud, vai alla pagina Abbonamenti.

      Vai ad Abbonamenti

    2. Monitora i messaggi non confermati nell'abbonamento. Per ulteriori informazioni, consulta Monitorare i messaggi inoltrati non recapitati.

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

      • Utilizza il filtro Permission 'workflows.executions.create' denied per verificare se l'attivatore è associato a un account di servizio che ha permission per attivare le esecuzioni dei flussi di lavoro. Per ulteriori informazioni su come assegnare i ruoli appropriati all'account di servizio, segui le istruzioni riportate nella sezione "Prepararsi a creare un trigger" quando crei un trigger per un provider, un tipo di evento e una destinazione di Workflows specifici.
      • Utilizza la parola chiave event size exceeded per verificare se le dimensioni dell'evento superano i 512 KB.
    4. Se i log vengono registrati, ma gli eventi non vengono inviati, contatta l'assistenza.