Questo documento fornisce suggerimenti per la risoluzione dei problemi relativi agli abbonamenti Bigtable.
Impossibile creare o aggiornare l'abbonamento
Quando provi a creare o aggiornare un abbonamento Bigtable, potresti riscontrare i seguenti errori.
Errore di autorizzazione negata
Se l'istanza o la tabella Bigtable non esiste oppure se l'account di servizio configurato non ha accesso a nessuna delle due, viene visualizzato un errore di autorizzazione negata.
Per risolvere il problema:
Verifica che l'istanza e la tabella esistano. Per saperne di più, consulta i seguenti documenti:
Se non esistono, creali e riprova a creare la sottoscrizione. Per un esempio di questo passaggio, consulta Scrivere da Pub/Sub a Bigtable.
Se l'errore persiste, verifica se il account di servizio dispone delle autorizzazioni corrette. Per maggiori informazioni, vedi Concedi ruoli IAM al service account.
Famiglie di colonne mancanti
Se la tabella Bigtable non ha le famiglie di colonne corrette,
viene visualizzato un errore INCOMPATIBLE_BIGTABLE_SCHEMA.
Questo errore può essere causato dai seguenti problemi:
- La tabella non ha una famiglia di colonne
data. - Scrittura dei metadati
è abilitata e la tabella non ha una famiglia di colonne
pubsub_metadata.
Per risolvere il problema, crea le famiglie di colonne necessarie. Per maggiori informazioni, vedi Aggiungere famiglie di colonne.
L'abbonamento non scrive dati
Se un abbonamento Bigtable non scrive dati, controlla lo stato dell'abbonamento eseguendo il comando
gcloud beta pubsub subscriptions describe:
gcloud beta pubsub subscriptions describe SUBSCRIPTION_ID
Sostituisci SUBSCRIPTION_ID con il nome dell'abbonamento.
Il campo bigtableConfig.state contiene lo stato. Se la sottoscrizione è
pronta per scrivere messaggi in Bigtable, lo stato è ACTIVE.
In caso contrario, si verifica un errore nella configurazione che impedisce alla sottoscrizione
di scrivere messaggi nella tabella Bigtable.
I problemi di configurazione possono includere:
Il profilo dell'app non è configurato per il routing a un singolo cluster.
Errori di autorizzazione. Vedi Errore di autorizzazione negata.
Nella tabella Bigtable manca una famiglia di colonne obbligatoria. Consulta Famiglie di colonne mancanti.
La sottoscrizione non può scrivere nella tabella Bigtable a causa di un criterio di archiviazione dei messaggi. Questo errore si verifica se
enforceInTransitèTruee la posizione della tabella non si trova in una regione consentita.
Mentre una sottoscrizione si trova in uno stato di errore, non scrive messaggi nella tabella Bigtable. I messaggi rimangono nel backlog della sottoscrizione e non vengono recapitati all'argomento messaggi non recapitabili, se ne è configurato uno. I messaggi non confermati vengono conservati per la durata di conservazione dei messaggi della sottoscrizione.
Una volta risolto il problema, l'abbonamento torna a uno stato integro.
Aumento del backlog
Se lo stato dell'abbonamento è ACTIVE, ma si verifica un backlog crescente di
messaggi nell'abbonamento o i messaggi vengono inviati all'argomento di
lettera morta dell'abbonamento, cerca i seguenti problemi.
La velocità di pubblicazione supera la capacità
Se la velocità di pubblicazione dei messaggi nell'argomento supera la capacità del cluster Bigtable, potrebbero accumularsi backlog nella sottoscrizione.
L'ordinamento dei messaggi comporta dei compromessi in termini di prestazioni. L'utilizzo di sottoscrizioni Bigtable con l'ordinamento potrebbe comportare una velocità effettiva inferiore o una latenza di pubblicazione dei messaggi superiore. Se riscontri problemi di rendimento con l'ordinamento abilitato, assicurati di utilizzare chiavi di ordinamento sufficientemente granulari per evitare tasti di scelta rapida o modifica l'applicazione in modo che non richieda l'ordinamento. Per ulteriori informazioni, consulta Considerazioni sull'utilizzo della messaggistica ordinata.
Monitora il rendimento del cluster e valuta la possibilità di aumentarne le dimensioni. Per saperne di più, consulta i seguenti argomenti nella documentazione di Bigtable:
Traffico tra regioni
Se la tua applicazione pubblica nell'argomento da una regione diversa dal cluster Bigtable, la pubblicazione di ogni messaggio richiede più tempo rispetto alla pubblicazione dalla stessa regione. Il tempo di pubblicazione più lungo riduce la velocità con cui l'abbonamento scrive messaggi in Bigtable, riducendo il throughput totale.
Per ridurre al minimo il tempo necessario per la pubblicazione dei messaggi, devi pubblicarli nella stessa regione del cluster Bigtable.
Passaggi successivi
- Se i problemi con l'abbonamento a Bigtable persistono, consulta la sezione Richiedere assistenza.