Questa pagina mostra come risolvere i problemi che potresti riscontrare durante l'utilizzo di Eventarc.
Per problemi specifici della destinazione che potresti riscontrare, consulta la sezione Risoluzione dei problemi per:
Provider Eventarc
Questa sezione fornisce suggerimenti per la risoluzione dei problemi relativi all'origine degli eventi (il provider).
Il provider non esiste
Verifica che il fornitore esista e di aver specificato i filtri di attivazione in modo appropriato.
Gli eventi vengono prodotti dal fornitore, ma non vengono ricevuti nella destinazione
Verifica di filtrare gli eventi dei fornitori che si trovano in una regione supportata per la destinazione di destinazione. Per saperne di più, consulta Località supportate da Eventarc e Informazioni sulle località Eventarc.
Il trigger non genera eventi
Verifica che il provider stia generando eventi. Controlla i Cloud Audit Logs e assicurati che il servizio monitorato stia scrivendo i log. Se i log vengono registrati, ma gli eventi non vengono recapitati, contatta l'assistenza.
Verifica che esista un argomento Pub/Sub con lo stesso nome del trigger.
Per elencare i trigger in tutte le posizioni, esegui:
gcloud eventarc triggers list --location=-
Per elencare gli argomenti Pub/Sub, esegui:
gcloud pubsub topics list
Verifica che il nome dell'argomento Pub/Sub includa il nome del trigger creato. Se l'argomento Pub/Sub non è presente, crea un argomento quando crei il trigger.
Per descrivere i trigger e rilevare eventuali problemi con la condizione del trigger, esegui:
gcloud eventarc triggers describe TRIGGER_ID \ --location=LOCATION
Sostituisci quanto segue:
TRIGGER_ID
: l'ID del trigger o un identificatore completamente qualificato.LOCATION
: la posizione del trigger Eventarc.
Il comando precedente restituisce la condizione del trigger. Se si verifica un problema con l'argomento Pub/Sub, viene restituita una delle seguenti condizioni:
conditions: transport.pubsub.topic: code: NOT_FOUND message: Pub/Sub topic not found. Try recreating the trigger.
o
conditions: transport.pubsub.topic: code: UNKNOWN message: Pub/Sub topic status is unknown. Try requesting the trigger description again.
Se applicabile, procedi nel seguente modo:
Se viene restituito
Pub/Sub topic not found
, ricrea l'attivatore per un provider, un tipo di evento e una destinazione specifici e poi crea l'argomento.Se viene restituito
Pub/Sub topic status is unknown
, esegui di nuovo il comando per descrivere il trigger.Se il problema persiste, contatta l'assistenza. Per saperne di più, consulta Gestire i trigger.
Verifica lo stato dell'argomento Pub/Sub:
Verifica la configurazione dell'argomento Pub/Sub. Vai alla pagina Argomenti.
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
perresponse_code
. Se vengono segnalati errori push, controlla i log del servizio. 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.
Trigger Eventarc
Questa sezione fornisce suggerimenti per la risoluzione dei problemi relativi al trigger.
Errori di autorizzazione negata
Se si verifica un errore
Failed to load service details: permission denied
, verifica che le autorizzazioni del trigger siano configurate correttamente e che all'account di servizio Pub/Sub sia stato concesso il ruoloiam.serviceAccountTokenCreator
. Per ulteriori informazioni, consulta Controllo dell'accesso.Se si verifica il seguente errore durante il tentativo di creare un trigger, attendi qualche minuto (fino a sette) e poi riprova a creare il trigger:
Permission denied while using the Eventarc Service Agent. If you recently started to use Eventarc, it may take a few minutes before all necessary permissions are propagated to the Service Agent. Otherwise, verify that it has Eventarc Service Agent role.
Un service agent funge da identità di un determinato servizio per un progetto specifico. Google Cloud Per ulteriori informazioni, consulta Agenti di servizio e visualizza le autorizzazioni per il ruolo dell'agente di servizio Eventarc (
roles/eventarc.serviceAgent
).Per verificare che l'agente di servizio Eventarc esista nel tuo progettoGoogle Cloud e abbia il ruolo necessario, completa i seguenti passaggi:
Nella console Google Cloud vai alla pagina IAM.
Nella scheda Autorizzazioni, seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
Nell'elenco dei principal, individua l'agente di servizio Eventarc, che utilizza questo formato:
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
Verifica che l'agente di servizio disponga del ruolo Agente di servizio Eventarc. Se l'agente di servizio non dispone del ruolo, concedilo.
Se stai tentando di utilizzare un account di servizio tra progetti e si verifica un errore di autorizzazione negata per
iam.serviceAccounts.getAccessToken
oiam.serviceAccounts.actAs
oppure se ricevi un messaggio di errore simile a...cross-project service accounts are disabled
oFailed to impersonate...
, verifica che le autorizzazioni siano configurate correttamente. Per ulteriori informazioni, vedi Utilizzare un service account cross-project.
L'argomento Pub/Sub non mostra la chiave CMEK
L'attivazione di un canale Eventarc con una chiave di crittografia gestita dal cliente (CMEK) protegge l'argomento Pub/Sub utilizzato come livello di trasporto da Eventarc Standard. Tuttavia, la chiave CMEK non viene visualizzata tramite la consoleGoogle Cloud . Puoi verificare che una chiave CMEK sia abilitata per l'argomento Pub/Sub utilizzando Google Cloud CLI:
Descrivi il trigger Eventarc:
gcloud eventarc triggers describe TRIGGER_ID \ --location=LOCATION
Sostituisci quanto segue:
TRIGGER_ID
: l'ID del trigger EventarcLOCATION
: la posizione del triggerViene restituito l'ID argomento Pub/Sub. Ad esempio:
topic: projects/PROJECT_ID/topics/TOPIC_ID
Descrivi l'argomento Pub/Sub:
gcloud pubsub topics describe TOPIC_ID
Sostituisci
TOPIC_ID
con l'ID argomento Pub/Sub recuperato nel passaggio precedente.Viene restituito il nome della chiave CMEK. Ad esempio:
kmsKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME/grants/GRANT_ID
Addebiti imprevisti durante l'utilizzo di Eventarc
Quando crei un trigger, verifica che i filtri configurati non possano attivare i trigger all'infinito. Per evitare addebiti imprevisti sulla fattura, imposta budget e avvisi utilizzando la console di fatturazione di Google Cloud. Per ulteriori informazioni, vedi Creare un budget.
Informazioni correlate
- Per scoprire di più su Eventarc, consulta la panoramica.
- Per un tutorial sulla risoluzione dei problemi di Eventarc, consulta Debug di un servizio Cloud Run con Eventarc.
- Per problemi di pubblicazione degli eventi, vedi Risolvere i problemi di pubblicazione degli eventi.
- Per ulteriore assistenza, consulta la pagina Richiedere assistenza.