Fehlerbehebung beim Entpacken der Nutzlast

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

Fehler bei HTTP-Statuscodes

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-Fehler – 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. Im Folgenden finden Sie einige der häufigsten Ursachen dafür:

  • Die Nutzlast (Nachrichtendaten) entspricht nicht dem vom HTTP-Endpunkt angegebenen erwarteten Anfrageformat.
  • Die für die Verarbeitung der Anfrage erforderlichen Header fehlen.
  • Für das Abo ist ein falscher HTTP-Endpunkt konfiguriert.

Versuchen Sie Folgendes, um dieses Problem zu beheben:

  • Prüfen Sie das Format Ihrer Nutzlast (Nachrichtendaten). Es muss mit dem vom HTTP-Endpunkt angegebenen erwarteten Anfrageformat übereinstimmen.
  • Prüfen Sie, ob die Anfrage die erforderlichen Header enthält. Wenn die Header fehlen, müssen Sie sie möglicherweise in den Nachrichtenattributen hinzufügen. Ein Beispiel wäre Content-Type, aber möglicherweise sind 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. Die Push-Authentifizierung ist wichtig, wenn Sie eine Integration mit Cloud Run oder der App Engine vornehmen.

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

415 Nicht unterstützter Medientyp

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

415 Unsupported Media Type

Dieser Fehler kann aus verschiedenen Gründen auftreten. Im Folgenden finden Sie einige der häufigsten Ursachen dafür:

  • Im Endpunkt fehlt der erforderliche Header für den Medientyp.

Versuchen Sie Folgendes, um dieses Problem zu beheben:

  • Für Ihren Endpunkt ist wahrscheinlich ein Content-Type-Header erforderlich. Beim Entfernen der Nutzlast wird standardmäßig kein Header für den Medientyp festgelegt. Sie können einen Content-Type-Header als Attribut für die Nachrichtenveröffentlichung anhängen.

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

Der folgende Fehler tritt auf, wenn Pub/Sub die Anfrage nicht verarbeiten kann, weil die in der Anfrage gesendeten Inhalte zu groß sind.

431 request header fields too Large / 413 content too large

Dieser Fehler tritt auf, wenn die Attribute in einer Pub/Sub-Nachricht die Größe des Headerlimits eines Servers überschreiten.

Versuchen Sie Folgendes, um diese Probleme zu beheben:

  • Deaktivieren Sie Metadaten schreiben.
  • Aktivieren Sie die Dead-Letter-Warteschlange (DLQ) für Ihr Push-Abo. Dadurch werden einzelne Nachrichten, die nicht zugestellt werden können, weitergeleitet. Danach wird Ihr Abo weiter ausgeführt, aber die fehlerhaften Nachrichten 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 (Entpacken von Nachrichtendaten) und Write message metadata (Nachrichtenmetadaten schreiben).

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

Nächste Schritte

  • Wenn weiterhin Probleme mit dem Entfernen des Nutzlast-Wrappers auftreten, lesen Sie den Hilfeartikel Support erhalten.