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 finden Sie unter Themen zur Fehlerbehebung und Fehlerbehebung beim Import.

Abo kann nicht erstellt werden

Überprüfen Sie, ob folgende Schritte ausgeführt wurden:

  • Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben. Zum Erstellen eines Pub/Sub-Abos 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.

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

  • Der Name eines vorhandenen Themas, an das das Abo angehängt 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:

  • Prüfen Sie, ob Sie die Pub/Sub API in der Google Cloud Console aktiviert haben.
  • Prüfen Sie, ob das Hauptkonto, das die Anfrage stellt, die erforderlichen Berechtigungen für die relevanten Pub/Sub API-Ressourcen hat. Das ist vor allem dann wichtig, wenn Sie die Pub/Sub API für die projektübergreifende Kommunikation verwenden.
  • Wenn Sie Dataflow verwenden, achten Sie darauf, dass sowohl {PROJECT_NUMBER}@cloudservices.gserviceaccount.com als auch das Compute Engine-Dienstkonto {PROJECT_NUMBER}-compute@developer.gserviceaccount.com die erforderlichen Berechtigungen für die relevante Pub/Sub API-Ressource haben. Weitere Informationen finden Sie unter Sicherheit und Berechtigungen in Dataflow.
  • Wenn Sie App Engine verwenden, sehen Sie auf der Seite „Berechtigungen“ Ihres Projekts nach, ob ein App Engine-Dienstkonto als Bearbeiter aufgeführt ist. Wenn dies nicht der Fall ist, fügen Sie Ihr App Engine-Dienstkonto als Bearbeiter hinzu. Normalerweise hat das App Engine-Dienstkonto das Format <project-id>@appspot.gserviceaccount.com.

Übermäßige Verwaltungsvorgänge verwenden

Wenn Sie feststellen, dass Sie zu viel von Ihrem Kontingent für Verwaltungsvorgänge verbrauchen, müssen Sie möglicherweise Ihren Code refaktorieren. Betrachten Sie diesen Pseudocode zur Veranschaulichung. In diesem Beispiel wird ein Verwaltungsvorgang (GET) verwendet, um das Vorhandensein eines Abos zu prüfen, bevor es versucht, 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
}