Allgemeine Fehlerbehebung

Hier finden Sie nützliche Informationen zur Behebung von Problemen mit Pub/Sub.

Thema kann nicht erstellt werden

Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Zum Erstellen eines Pub/Sub-Themas benötigen Sie die IAM-Rolle Pub/Sub-Bearbeiter (roles/pubsub.editor) für das Projekt. Wenn Sie diese Rolle nicht haben, wenden Sie sich an Ihren Administrator. Weitere Informationen zur Fehlerbehebung bei Themen finden Sie unter Fehlerbehebung bei Themen und Fehlerbehebung bei Importen.

Abo kann nicht erstellt werden

Überprüfen Sie, ob Sie Folgendes getan haben:

  • Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Zum Erstellen eines Pub/Sub-Abos benötigen Sie die IAM-Rolle Pub/Sub Editor (roles/pubsub.editor) für das Projekt. Wenn Sie diese Rolle nicht haben, wenden Sie sich an Ihren Administrator.

  • Es wurde ein Name für das Abo angegeben.

  • Der Name eines vorhandenen Themas, mit dem das Abo verknüpft werden soll.

  • Wenn Sie ein Push-Abo erstellen, geben Sie im Feld pushEndpoint als Protokoll für Ihre Empfangs-URL https:// in Kleinbuchstaben an (nicht http:// oder HTTPS://).

Weitere Informationen zur Fehlerbehebung bei Pull-Abos finden Sie unter Fehlerbehebung bei Pull-Abos, Fehlerbehebung bei Push-Abos, Fehlerbehebung bei BigQuery-Abos und Fehlerbehebung bei Cloud Storage-Abos.

403 (Forbidden) Fehler

Gehen Sie folgendermaßen vor, wenn dieser Fehler angezeigt wird:

  • Achten Sie darauf, dass Sie die Pub/Sub API im Google Cloud Console
  • Das Hauptkonto, das die Anfrage stellt, muss die erforderlichen Berechtigungen für die Pub/Sub API-Ressourcen insbesondere wenn Sie die Pub/Sub API für die projektübergreifende Kommunikation verwenden.

  • Wenn Sie Dataflow verwenden, müssen sowohl {PROJECT_NUMBER}@cloudservices.gserviceaccount.com und das Compute Engine-Dienstkonto {PROJECT_NUMBER}[email protected] Sie haben die erforderlichen Berechtigungen für die Pub/Sub API-Ressource. Weitere Informationen finden Sie unter Dataflow-Sicherheit und -Berechtigungen

  • Wenn Sie App Engine verwenden, prüfen Sie den Seite "Berechtigungen", um zu sehen, App Engine-Dienstkonto ist als Pub/Sub-Editor aufgeführt. Wenn dies nicht der Fall ist, fügen Sie Ihr App Engine-Dienstkonto als Pub/Sub-Bearbeiter hinzu. Normalerweise App Engine-Dienstkonto ist von das Formular <project-id>@appspot.gserviceaccount.com

Übermäßige Verwaltungsvorgänge verwenden

Sollten Sie feststellen, dass Sie zu viel von Ihrem Kontingent für Verwaltungsvorgänge verbrauchen, müssen Sie unter Umständen Ihren Code refaktorieren. Betrachten Sie diesen Pseudocode zur Veranschaulichung. In diesem Beispiel wird mit einem Verwaltungsvorgang (GET) geprüft, ob ein Abo vorhanden ist, bevor versucht wird, seine Ressourcen zu verbrauchen. Sowohl GET als auch CREATE sind Verwaltungsvorgänge:

if !GetSubscription my-sub {
  CreateSubscription my-sub
}
Consume from subscription my-sub

Ein effizienteres Muster ist der Versuch, Nachrichten aus dem Abo zu verarbeiten (vorausgesetzt, dass Sie sich den Namen des Abos einigermaßen sicher sind). Bei diesem optimistischen Ansatz erhalten oder erstellen Sie das Abo nur dann, wenn ein Fehler vorliegt. Betrachten Sie dieses Beispiel:

try {
  Consume from subscription my-sub
} catch NotFoundError {
  CreateSubscription my-sub
  Consume from subscription my-sub
}