Probleme beim Entpacken der Nutzlast beheben

Auf dieser Seite erfahren Sie, wie Sie Probleme beim Entfernen des Nutzlast-Wrappers beheben.

HTTP-Statuscodefehler

Beim Entfernen des Nutzlast-Wrappers können häufige HTTP-Statuscode-Fehler auftreten. Sie können die Fehler mit dem Messwert push_request_count überwachen.

400 – ungültige Anfrage

Der folgende Fehler tritt auf, wenn Pub/Sub die Anfrage aufgrund einer Fehlkonfiguration oder fehlender Daten nicht verarbeiten kann.

400 Bad Request

Dieser Fehler kann aus verschiedenen Gründen auftreten. Hier einige der wichtigsten Häufige Fehlerursachen:

  • Die Nutzlast (Nachrichtendaten) entspricht nicht dem erwarteten angegebenen Anfrageformat durch den HTTP-Endpunkt an.
  • Die zum Verarbeiten der Anfrage erforderlichen Header fehlen.
  • Für das Abo wurde ein falscher HTTP-Endpunkt konfiguriert.

Versuchen Sie Folgendes, um dieses Problem zu beheben:

  • Überprüfen Sie das Format Ihrer Nutzlast (Nachrichtendaten). Achten Sie darauf, dass sie mit den erwartetes Anfrageformat, das vom HTTP-Endpunkt angegeben wird.
  • Prüfen Sie, ob die Anfrage die erforderlichen Header enthält. Wenn die Überschriften fehlen, müssen Sie sie möglicherweise den Nachrichtenattributen hinzufügen. Ein Beispiel könnte Content-Type, möglicherweise sind aber auch andere erforderlich.
  • Prüfen Sie, ob der für Ihr Abo konfigurierte HTTP-Endpunkt gültig ist.
  • Aktivieren Sie die Dead-Letter-Warteschlange (DLQ) für Ihr Push-Abo. Dadurch werden einzelne Nachrichten, die nicht zugestellt werden können, weitergeleitet. Es ist hilfreich, die DLQ zu aktivieren, wenn Sie eine kleine Anzahl von 400-Fehlern sehen, die Sie prüfen möchten.

401-Fehler – nicht berechtigt / 403-Fehler – unzulässig

Der folgende Fehler tritt auf, wenn Pub/Sub die Anfrage aufgrund falscher oder ungültiger Anmeldedaten nicht verarbeiten kann.

401 unauthorized / 403 forbidden

Dieser Fehler tritt auf, weil das Push-Abo nicht authentifiziert ist.

Versuchen Sie Folgendes, um dieses Problem zu beheben:

  • Aktivieren Sie die Push-Authentifizierung. Push verwenden ist die Authentifizierung wichtig, wenn Sie Cloud Run oder App Engine.

    Wenn die Push-Authentifizierung mit Ihrer Lösung nicht funktioniert, müssen Sie möglicherweise um Ihren eigenen Autorisierungsschlüssel oder API-Schlüssel in den Attributen der Veröffentlichungsnachricht hinzuzufügen.

415 Nicht unterstützter Medientyp

Der folgende Fehler tritt auf, wenn Pub/Sub die Anfrage nicht verarbeiten kann, da das Nutzlastformat nicht unterstützt wird.

415 Unsupported Media Type

Dieser Fehler tritt aus verschiedenen Gründen auf. Hier einige der wichtigsten Häufige Fehlerursachen:

  • Im Endpunkt fehlt der erforderliche Medientyp-Header.

Versuchen Sie Folgendes, um dieses Problem zu beheben:

  • Für den Endpunkt ist wahrscheinlich ein Content-Type-Header erforderlich. Beim Entfernen der Nutzlast wird standardmäßig kein Header für den Medientyp festgelegt. Ich können Sie einen Content-Type-Header festlegen, indem Sie ihn als Attribut für die Veröffentlichung von Nachrichten anhängen.

431 request header fields too large / 413 content too large (431 Anfrageheader-Felder zu lang / 413 Inhalt zu groß)

Der folgende Fehler tritt auf, wenn Pub/Sub die Anfrage nicht verarbeiten kann da der in der Anfrage gesendete Inhalt zu groß ist.

431 request header fields too Large / 413 content too large

Dieser Fehler tritt auf, wenn die Attribute in einem Pub/Sub- die zulässige Header-Größe Server.

Um diese Probleme zu beheben, versuchen Sie Folgendes:

  • Deaktivieren Sie Metadaten schreiben.
  • Aktivieren Sie Dead Letter Queue (DLQ). für Ihr Push-Abo. Dadurch werden einzelne Nachrichten weitergeleitet, geliefert wurden. Danach läuft Ihr Abo weiter, aber die Benachrichtigungen mit Fehlern werden zur weiteren Analyse an ein separates Thema weitergeleitet.

Prüfen, ob das Entpacken der Nutzlast aktiviert ist

  1. Öffnen Sie in der Google Cloud Console die Seite Abos.

    Pub/Sub-Abos öffnen

  2. Klicken Sie auf den Namen Ihres Dienstes.

    Die Seite mit den Servicedetails wird geöffnet.

  3. Suchen Sie in der Konfigurationstabelle nach den folgenden Werten: Message data unwrapped (Nachrichtendaten entpacken) und Write message metadata (Nachrichtenmetadaten schreiben).

    Der Status des Nutzlast-Wrappings (aktiviert oder deaktiviert) wird in der entsprechenden Tabellenzeile angezeigt.

Nächste Schritte

  • Wenn Sie weiterhin Probleme beim Entpacken der Nutzlast haben, lesen Sie den Abschnitt Support.