Dieses Dokument enthält Tipps zur Fehlerbehebung bei Bigtable-Abos.
Abo kann nicht erstellt oder aktualisiert werden
Wenn Sie versuchen, ein Bigtable-Abo zu erstellen oder zu aktualisieren, treten möglicherweise die folgenden Fehler auf.
Fehler „Berechtigung verweigert“
Wenn die Bigtable-Instanz oder -Tabelle nicht vorhanden ist oder das konfigurierte Dienstkonto keinen Zugriff darauf hat, wird der Fehler „Berechtigung verweigert“ angezeigt.
So beheben Sie das Problem:
Prüfen Sie, ob die Instanz und die Tabelle vorhanden sind. Weitere Informationen finden Sie in folgenden Dokumenten:
Wenn sie nicht vorhanden sind, erstellen Sie sie und versuchen Sie noch einmal, Ihr Abo zu erstellen. Ein Beispiel für diesen Schritt finden Sie unter Daten von Pub/Sub in Bigtable schreiben.
Wenn dieser Fehler weiterhin auftritt, prüfen Sie, ob das Dienstkonto die richtigen Berechtigungen hat. Weitere Informationen finden Sie unter Dienstkonto IAM-Rollen zuweisen.
Fehlende Spaltenfamilien
Wenn die Bigtable-Tabelle nicht die richtigen Spaltenfamilien hat, wird der Fehler INCOMPATIBLE_BIGTABLE_SCHEMA angezeigt.
Dieser Fehler kann durch die folgenden Probleme verursacht werden:
- Die Tabelle hat keine
data-Spaltenfamilie. - Das Schreiben von Metadaten
ist aktiviert und die Tabelle hat keine
pubsub_metadata-Spaltenfamilie.
Erstellen Sie die erforderlichen Spaltenfamilien, um das Problem zu beheben. Weitere Informationen finden Sie unter Spaltenfamilien hinzufügen.
Das Abo schreibt keine Daten
Wenn ein Bigtable-Abo keine Daten schreibt, prüfen Sie den
Abostatus mit dem
gcloud beta pubsub subscriptions describe
Befehl:
gcloud beta pubsub subscriptions describe SUBSCRIPTION_ID
Ersetzen Sie SUBSCRIPTION_ID durch den Namen des Abos.
Das Feld bigtableConfig.state enthält den Status. Wenn das Abo bereit ist, Nachrichten in Bigtable zu schreiben, ist der Status ACTIVE.
Andernfalls liegt ein Fehler in der Konfiguration vor, der verhindert, dass das Abo Nachrichten in die Bigtable-Tabelle schreibt.
Konfigurationsprobleme können Folgendes umfassen:
Das Anwendungsprofil ist nicht für das Single-Cluster-Routing konfiguriert.
Berechtigungsfehler. Siehe Fehler „Berechtigung verweigert“.
In der Bigtable-Tabelle fehlt eine erforderliche Spaltenfamilie. Siehe Fehlende Spaltenfamilien.
Das Abo kann aufgrund einer Richtlinie zur Nachrichtenspeicherung nicht in die Bigtable-Tabelle schreiben. Dieser Fehler tritt auf, wenn
enforceInTransitTrueist und sich der Tabellenstandort nicht in einer zulässigen Region befindet.
Wenn sich ein Abo in einem Fehlerstatus befindet, werden keine Nachrichten in die Bigtable-Tabelle geschrieben. Die Nachrichten verbleiben im Abo-Backlog; sie werden nicht an das Thema für unzustellbare Nachrichten gesendet, falls eines konfiguriert ist. Nicht bestätigte Nachrichten werden für die Aufbewahrungsdauer für Nachrichten des Abos aufbewahrt.
Nachdem das Problem behoben wurde, kehrt das Abo schließlich in einen fehlerfreien Zustand zurück.
Zunehmendes Backlog
Wenn der Abostatus ACTIVE ist, aber das Backlog von Nachrichten im Abo zunimmt oder Nachrichten an das Thema für unzustellbare Nachrichten des Abos gesendet werden, suchen Sie nach den folgenden Problemen.
Veröffentlichungsrate übersteigt die Kapazität
Wenn die Rate der Nachrichtenveröffentlichung in Ihrem Thema die Kapazität Ihres Bigtable-Clusters übersteigt, können sich Backlogs im Abo ansammeln.
Die Nachrichtenreihenfolge hat Auswirkungen auf die Leistung. Die Verwendung von Bigtable-Abos mit Reihenfolge kann zu einem geringeren Durchsatz oder einer höheren Latenz bei der Nachrichtenübermittlung führen. Wenn Leistungsprobleme auftreten, wenn die Reihenfolge aktiviert ist, verwenden Sie ausreichend detaillierte Reihenfolgeschlüssel, um Hotkeys zu vermeiden, oder ändern Sie Ihre Anwendung so, dass keine Reihenfolge erforderlich ist. Weitere Informationen finden Sie unter Überlegungen zur Verwendung von sortierten Nachrichten.
Behalten Sie die Leistung Ihres Clusters im Blick und erwägen Sie, die Clustergröße zu erhöhen. Weitere Informationen finden Sie in den folgenden Themen in der Bigtable-Dokumentation:
Regionsübergreifender Traffic
Wenn Ihre Anwendung Nachrichten in einem anderen Region als der Bigtable-Cluster in Ihrem Thema veröffentlicht, dauert es länger, bis jede Nachricht veröffentlicht wird, als wenn die Veröffentlichung in derselben Region erfolgt. Die längere Veröffentlichungszeit verringert die Rate, mit der Ihr Abo Nachrichten in Bigtable schreibt, wodurch der Gesamtdurchsatz reduziert wird.
Um die Veröffentlichungszeit von Nachrichten zu minimieren, sollten Sie sie in derselben Region wie Ihr Bigtable-Cluster veröffentlichen.
Nächste Schritte
- Wenn weiterhin Probleme mit Ihrem Bigtable Abo auftreten, finden Sie unter Support weitere Informationen.