Risoluzione dei problemi relativi alle sottoscrizioni BigQuery

Questa pagina fornisce alcuni suggerimenti comuni per la risoluzione dei problemi relativi alle sottoscrizioni BigQuery.

Verificare lo stato di una sottoscrizione BigQuery

Per controllare lo stato di un abbonamento, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina dell'abbonamento Pub/Sub.

    Vai ad Abbonamenti

  2. Seleziona l'icona dello Stato della sottoscrizione BigQuery.

    Se l'icona è un segno di spunta verde, significa che l'abbonamento è integro.

    Se l'icona è un punto esclamativo rosso, l'abbonamento è in stato di errore.

  3. Fai clic sulla sottoscrizione BigQuery.

    Si apre la pagina dei dettagli dell'abbonamento.

  4. Controlla lo stato della sottoscrizione per vedere se hai ricevuto il messaggio di errore.

  5. A seconda del messaggio di errore, vai alla sezione pertinente di questa pagina per risolvere il problema.

Una volta risolto il problema, l'abbonamento torna a essere integro.

Errore di creazione o aggiornamento della tabella dei resi dell'abbonamento non trovata

Se la tabella specificata nel flusso di lavoro di creazione o aggiornamento della sottoscrizione non esiste, il flusso di lavoro restituisce un errore di tabella non trovata. Nella console Google Cloud, il messaggio è simile al seguente:

The BigQuery table or dataset specified cannot be found.

Per risolvere il problema, crea la tabella e assicurati di poter controllare il suo state prima di utilizzarla con una sottoscrizione BigQuery.

La creazione o l'aggiornamento dell'abbonamento restituisce un errore di mancata corrispondenza dello schema

Se gli schemi della tabella e dell'argomento non sono compatibili, il flusso di lavoro di creazione o aggiornamento della sottoscrizione restituisce un errore di mancata corrispondenza dello schema. Nella console Google Cloud, il messaggio è simile al seguente:

Incompatible schema type for field project_ids: expected INT64, got STRING

Il messaggio di errore specificato riguarda la mancata corrispondenza dello schema per un campo denominato project_ids. A seconda del tipo di mancata corrispondenza dello schema, potresti vedere una variante diversa del messaggio di errore.

Per risolvere il problema, verifica che le mappature dello schema siano compatibili.

La creazione o l'aggiornamento dell'abbonamento restituisce un errore dell'account di servizio

Se non hai configurato l'account di servizio Pub/Sub con le autorizzazioni corrette, il flusso di lavoro di creazione o aggiornamento della sottoscrizione restituisce un errore. Nella console Google Cloud, il messaggio è simile al seguente:

Service account service-1234234234@gcp-sa-pubsub.iam.gserviceaccount.com
is missing permissions required to write to the BigQuery table:
bigquery.tables.get, bigquery.tables.updateData.

Per risolvere il problema, controlla se l'account di servizio dispone delle autorizzazioni corrette.

Lo stato dell'iscrizione mostra un punto esclamativo rosso

La modifica della tabella dopo aver creato una sottoscrizione può influire sul modo in cui Pub/Sub scrive i messaggi nella tabella. Se una modifica genera un problema, il campo dello stato dell'abbonamento viene impostato su uno stato di errore.

Nella pagina dei dettagli dell'abbonamento, controlla lo stato del campo Subscription state. Il campo Subscription state fornisce un errore più specifico, che può essere uno dei seguenti:

  • tabella non trovata: la tabella è stata eliminata. Crea una tabella e controlla lo stato della tabella. Vedi Ottenere informazioni sulla tabella.

  • autorizzazione tabella negata: l'account di servizio Pub/Sub non è più autorizzato a scrivere nella tabella. Verifica se l'account di servizio dispone delle autorizzazioni corrette.

  • Mancata corrispondenza dello schema della tabella: lo schema della tabella non è più compatibile con le impostazioni dell'abbonamento BigQuery. Verifica che le mappature dello schema siano compatibili.

Mentre una sottoscrizione Pub/Sub è in stato di errore, i messaggi non vengono scritti nella tabella BigQuery e rimangono nel backlog della sottoscrizione. Tieni presente che i messaggi non vengono recapitati a un argomento messaggi non recapitabili allegato, se configurato. I messaggi non confermati vengono conservati per il periodo impostato in message_retention_duration(7 giorni, per impostazione predefinita).

Passaggi successivi

  • Se i problemi con l'abbonamento a BigQuery persistono, consulta Assistenza.