Questo documento fornisce suggerimenti per la risoluzione dei problemi relativi alle sottoscrizioni Bigtable.
Impossibile creare o aggiornare la sottoscrizione
Quando provi a creare o aggiornare una sottoscrizione Bigtable, potresti riscontrare i seguenti errori.
Errore di autorizzazione negata
Se l'istanza o la tabella Bigtable non esiste o se il 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 ulteriori informazioni, consulta i seguenti documenti:
Se non esistono, creali e riprova a creare la sottoscrizione. Per un esempio di questo passaggio, vedi Scrivere da Pub/Sub a Bigtable.
Se continui a ricevere questo errore, verifica se il account di servizio dispone delle autorizzazioni corrette. Per ulteriori informazioni, consulta Concedere 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_SCHEMA.
Questo errore può essere causato dai seguenti problemi:
- La tabella non ha una famiglia di colonne
data. - La 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 ulteriori informazioni, consulta Aggiungere famiglie di colonne.
La sottoscrizione non scrive dati
Se una sottoscrizione Bigtable non scrive dati, controlla lo
stato della sottoscrizione eseguendo il
gcloud beta pubsub subscriptions describe
comando:
gcloud beta pubsub subscriptions describe SUBSCRIPTION_ID
Sostituisci SUBSCRIPTION_ID con il nome della sottoscrizione.
Il campo bigtableConfig.state contiene lo stato. Se la sottoscrizione è pronta per scrivere messaggi in Bigtable, lo stato è ACTIVE.
In caso contrario, si è verificato un errore nella configurazione che impedisce alla sottoscrizione di scrivere messaggi nella tabella Bigtable.
I problemi di configurazione potrebbero includere quanto segue:
Il profilo dell'app non è configurato per il routing a cluster singolo.
Errori di autorizzazione. Vedi Errore di autorizzazione negata.
Nella tabella Bigtable manca una famiglia di colonne obbligatoria. Vedi 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 località della tabella non si trova in una regione consentita.
Mentre una sottoscrizione è in uno stato di errore, non scrive messaggi nella tabella Bigtable. I messaggi rimangono nel backlog della sottoscrizione; non vengono inviati 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, la sottoscrizione torna a uno stato integro.
Aumento del backlog
Se lo stato della sottoscrizione è ACTIVE, ma il backlog di messaggi nella sottoscrizione è in aumento o i messaggi vengono inviati all'argomento messaggi non recapitabili della sottoscrizione, 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, è possibile che si accumulino backlog nella sottoscrizione.
L'ordinamento dei messaggi comporta dei compromessi in termini di prestazioni. L'utilizzo delle sottoscrizioni Bigtable con l'ordinamento potrebbe comportare una velocità effettiva inferiore o una latenza di recapito dei messaggi più elevata. Se riscontri problemi di prestazioni con l'ordinamento abilitato, assicurati di utilizzare chiavi di ordinamento sufficientemente granulari per evitare chiavi attive oppure 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 ulteriori informazioni, 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 la sottoscrizione scrive i messaggi in Bigtable, riducendo la velocità effettiva totale.
Per ridurre al minimo il tempo necessario per la pubblicazione dei messaggi, devi pubblicarli nella stessa regione del cluster Bigtable.
Passaggi successivi
- Se continui a riscontrare problemi con la sottoscrizione Bigtable, consulta Richiedere assistenza.