Fehlerbehebung bei einem Push-Abo

Push-Abonnenten sind eine Art von Pub/Sub-Abonnenten, bei dem Nachrichten von Pub/Sub an einen vom Nutzer angegebenen HTTPS-Endpunkt gesendet werden. Der Nutzer bestätigt eine Push-Nachricht, indem er auf die Anfrage des Push-Servers eine HTTP 200-Antwort zurückgibt. Dieses Dokument enthält einige allgemeine Tipps zur Fehlerbehebung bei Pub/Sub-Push-Abos. Weitere Informationen zu Push-Abos finden Sie im Leitfaden für Push-Abonnenten.

Damit Sie Ihr Pub/Sub-Abo effektiv überwachen können, sollten Sie zuerst anhand des Systemdiagnosewerts für die Zustellungslatenz (subscription/delivery_latency_health_score) herausfinden, welche Faktoren zu einer unerwarteten Latenz beitragen könnten.

Fehlerhafte oder langsame Push-Endpunkte

Wenn der Endpunkt einen Fehlerantwortcode zurückgibt, gilt die Nachrichtenzustellung als fehlgeschlagen und wird später noch einmal versucht. Dies kann dazu führen, dass der Endpunkt möglicherweise doppelte Nachrichten erhält.

Es gibt mehrere Messwerte, mit denen Sie Push-Abos überwachen können. Mit dem Messwert subscription/push_request_count in Cloud Metrics werden Antworten vom Push-Endpunkt nach response_code und response_class kategorisiert. Die Antworten sind hilfreich, um potenzielle Endpunktfehlfunktionen zu identifizieren. Wenn dieser Messwert Daten mit einer anderen response_class als ack enthält, weist dies darauf hin, dass der Push-Endpunkt Fehler an Pub/Sub zurückgibt. Zu den häufigsten Fehlern gehören:

  • Eine deadline_exceeded-Antwortklasse gibt an, dass der Push-Endpunkt nicht innerhalb der erforderlichen Bestätigungsfrist geantwortet hat. Mit dem Messwert subscription/push_request_latencies können Sie die Push-Bestätigungs-Latenz ermitteln.

  • Eine invalid-Antwortklasse gibt an, dass der Endpunkt eine Antwort zurückgegeben hat, die Pub/Sub nicht richtig verstehen oder verarbeiten konnte.

  • Die Antwortklasse remote_server_4xx weist normalerweise auf Authentifizierungs- oder Berechtigungsprobleme hin. Dies sind HTTP-Antwortcodes, die vom Endpunkt zurückgegeben werden. Sehen Sie sich daher die Szenarien an, in denen dieser Antwortcode zurückgegeben wird. Wenn die Authentifizierung aktiviert ist, prüfen Sie, ob Ihr Konto die richtige Berechtigung auf dem Endpunkt hat. Weitere Informationen zur Authentifizierung in Push-Abos

  • Die Antwortklasse remote_server_5xx weist auf ein serverseitiges Problem auf Endpunktseite hin. Der Endpunkt kann die Anfrage nicht verarbeiten. Das kann an einer laufenden Wartung oder einem Ausfall liegen. Prüfen Sie den Status des Servers, auf dem der Endpunkt gehostet wird.

  • Die Antwortklasse unreachable gibt an, dass der Endpunktserver nicht erreicht werden kann. Überprüfen Sie die Endpunkt-URL auf Tippfehler.

Weitere Informationen zu den häufigsten Fehlercodes der Pub/Sub API.

Einschränkungen für Push-Abos innerhalb eines VPC-SC-Perimeters

Wenn der VPC Service Controls-Schutz (VPC-SC) in einem Projekt aktiviert ist, gibt es Einschränkungen beim Erstellen von Push-Abos. Vorhandene Push-Abos funktionieren weiterhin, aber wenn Sie ein neues Push-Abo erstellen, wird der Fehler Request is prohibited by organization's policy angezeigt. Insbesondere können neue Push-Abos nur erstellt werden, wenn der Push-Endpunkt ein Cloud Run-Dienst mit der Standard-URL run.app ist. Weitere Informationen und spezifische Einschränkungen finden Sie in der Pub/Sub-Dokumentation und in der VPC-SC-Dokumentation.