Risolvere i problemi di Eventarc per Cloud Run

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

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

Il servizio Cloud Run non riceve eventi

Se un servizio non riceve eventi, le seguenti soluzioni potrebbero essere utili:

Eventi Cloud Audit Logs

  • Verifica che l'accesso Lettura amministratore, Lettura dati e Scrittura dati sia abilitato per i log di controllo del servizio.

    Vai agli audit log

  • Verifica che sia trascorso un tempo sufficiente dalla creazione del trigger. Potrebbero essere necessari fino a due minuti prima che il trigger sia funzionante.
  • Segui i prerequisiti per la creazione del trigger Eventarc.
  • Verifica che i filtri degli eventi non siano troppo restrittivi. Per saperne di più, vedi Filtri eventi per Cloud Audit Logs.
  • Verifica che il servizio monitorato generi audit log tramite Esplora log.

    Vai a Esplora log

  • Controlla i log di Cloud Run nella pagina Cloud Run:

    Vai a Cloud Run

    Fai clic sul servizio che hai creato in Cloud Run e vai alla scheda Log. Se i log mostrano che il servizio ha ricevuto un codice di stato diverso da OK, il servizio Cloud Run rifiuta gli eventi.

Messaggi Pub/Sub

  • Verifica che il trigger Eventarc sia stato creato.
  • Verifica che l'argomento Pub/Sub sia stato creato e collegato al trigger Eventarc.
  • Verifica che l'argomento Pub/Sub esista: vai a Pub/Sub e cerca l'argomento.
  • Verifica che sia trascorso un tempo sufficiente dalla creazione del trigger. Potrebbero essere necessari fino a due minuti prima che il trigger sia funzionante.
  • Controlla i log di Cloud Run nella pagina Cloud Run.

    Vai a Cloud Run

    Fai clic sul servizio che hai creato in Cloud Run e vai alla scheda Log. Se i log mostrano che il servizio ha ricevuto un codice di stato diverso da OK, il servizio Cloud Run rifiuta gli eventi.

Il trigger è impostato, ma la destinazione non riceve eventi

  • Verifica che il payload dell'evento che stai inviando non superi i limiti relativi alle dimensioni dell'evento (512 KB). Anche le sottoscrizioni push Pub/Sub sono soggette a un insieme di limiti delle risorse, ad esempio il throughput per regione di pubblicazione. In questo modo, il payload dell'evento Pub/Sub è inferiore a 512 KB.

  • Individua l'argomento Pub/Sub associato al trigger Cloud Run.

    1. Vai a Pub/Sub > Argomenti.

      Vai ad Argomenti

    2. Verifica che il nome dell'argomento Pub/Sub includa il nome del trigger creato.

  • Monitora se i messaggi vengono pubblicati nell'argomento con la metrica: topic/send_message_operation_count. Se i messaggi non vengono pubblicati nell'argomento, controlla Cloud Audit Logs e assicurati che il servizio monitorato emetta log. Se i log vengono registrati ma gli eventi non vengono recapitati, contatta l'assistenza.

  • Monitora se i messaggi vengono inviati correttamente con la metrica: subscription/push_request_count per response_code. Se vengono segnalati errori push, controlla i log del servizio Cloud Run. Se l'endpoint di ricezione restituisce un codice di stato diverso da OK, significa che il codice Cloud Run non funziona come previsto e devi contattare l'assistenza.

Impossibile trovare l'argomento Pub/Sub

L'argomento Pub/Sub potrebbe essere stato rimosso o modificato. Quando crei un trigger, viene creato un nuovo argomento Pub/Sub, quindi elimina il trigger esistente e crealo di nuovo.

Messaggio di errore INVALID_ARGUMENT service does not exist

Se ricevi un messaggio di errore INVALID_ARGUMENT: cloud run service "SERVICE_NAME" in region "REGION_NAME" does not exist, il account di servizio è stato eliminato. Gli eventi non verranno inviati a Cloud Run se il account di servizio per il servizio di destinazione viene eliminato. Crea un nuovo service account Cloud Run.

Costi o traffico imprevisti dovuti a nuovi tentativi di pubblicazione di eventi

Eventarc Standard supporta la distribuzione di eventi "at-least-once". Ciò significa che se una destinazione non riconosce un evento, Eventarc tenterà automaticamente di inviarlo di nuovo. Se noti addebiti imprevisti o se il tuo servizio Cloud Run non è configurato per gestire ripetuti tentativi di eventi non riusciti, potresti dover modificare il criterio di ripetizione del trigger.

Puoi configurare una policy di ripetizione che specifica un singolo tentativo di consegna dell'evento senza ripetizioni. In alternativa, puoi personalizzare il comportamento di ripetizione predefinito. Per saperne di più, vedi Nuovo tentativo per gli eventi.

Il servizio Cloud Run non è disponibile

Anche se il servizio Cloud Run non è disponibile, Pub/Sub conserva gli eventi per sette giorni per impostazione predefinita e ritenta l'invio degli eventi alla destinazione. Per ulteriori informazioni sui limiti delle risorse Pub/Sub, consulta Quote e limiti.