Risolvere i problemi di annullamento del wrapping del payload

Questa pagina mostra come risolvere i problemi relativi allo scollegamento del payload.

Errori relativi ai codici di stato HTTP

Quando si utilizza l'unwrapping del payload, possono verificarsi errori comuni nei codici di stato HTTP. Puoi monitorare gli errori con la metrica push_request_count.

400: richiesta non valida

Il seguente errore si verifica quando Pub/Sub non è in grado di elaborare la richiesta a causa di un'errata configurazione o di dati mancanti.

400 Bad Request

Questo errore si verifica per diversi motivi. Di seguito sono riportati alcuni dei cause comuni dell'errore:

  • Il payload (dati del messaggio) non corrisponde al formato della richiesta previsto specificato dall'endpoint HTTP.
  • Mancano le intestazioni necessarie per elaborare la richiesta.
  • È stato configurato un endpoint HTTP errato per la sottoscrizione.

Per risolvere il problema, prova le seguenti soluzioni:

  • Controlla il formato del tuo payload (dati dei messaggi). Assicurati che corrisponda al formato della richiesta previsto specificato dall'endpoint HTTP.
  • Verifica che la richiesta contenga le intestazioni richieste. Se mancano le intestazioni, potresti doverli aggiungere negli attributi dei messaggi. Un esempio può includere Content-Type, ma potrebbero essere necessari anche altri.
  • Verifica che l'endpoint HTTP configurato per l'abbonamento sia valido.
  • Attiva la coda delle lettere non recapitabili (DLQ) per la tua sottoscrizione push. Questa operazione reindirizza i singoli messaggi che non possono essere disponibili. È utile attivare la coda DLQ se noti un numero ridotto di errori 400 che vuoi esaminare.

401 unauthorized / 403 forbidden

Il seguente errore si verifica quando Pub/Sub non è in grado di elaborare la richiesta a causa di credenziali non corrette o non valide.

401 unauthorized / 403 forbidden

Questo errore si verifica perché l'abbonamento push non è autenticato.

Per risolvere il problema, prova le seguenti soluzioni:

  • Attiva l'autenticazione push. L'utilizzo dell'autenticazione push è importante se esegui l'integrazione con Cloud Run o App Engine.

    Se l'autenticazione push non funziona con la tua soluzione, potresti dover aggiungere la tua chiave di autorizzazione o chiave API negli attributi del messaggio di pubblicazione.

415 Unsupported Media Type

Il seguente errore si verifica quando Pub/Sub non è in grado di elaborare la richiesta perché il formato del payload è in un formato non supportato.

415 Unsupported Media Type

Questo errore si verifica per diversi motivi. Di seguito sono riportate alcune delle cause più comuni dell'errore:

  • Nell'endpoint manca l'intestazione media-type obbligatoria.

Per risolvere il problema, prova la seguente soluzione:

  • Probabilmente il tuo endpoint richiede un'intestazione Content-Type. Per impostazione predefinita, l'unwrapping non imposta un'intestazione di tipo multimediale. Puoi impostare un'intestazione Content-Type allegandola come attributo del messaggio di pubblicazione.

Campi di intestazione della richiesta 431 troppo grandi / Contenuto troppo grande 413

Il seguente errore si verifica quando Pub/Sub non riesce a elaborare la richiesta perché i contenuti inviati nella richiesta sono troppo grandi.

431 request header fields too Large / 413 content too large

Questo errore si verifica se gli attributi in un messaggio Pub/Sub superano le dimensioni limite dell'intestazione di un server.

Per risolvere questi problemi, prova le seguenti soluzioni:

  • Disattiva Scrivi metadati.
  • Attiva la coda dei messaggi non recapitabili (DLQ) nella tua sottoscrizione push. Questa operazione reindirizza i singoli messaggi che non possono essere disponibili. Dopodiché, la sottoscrizione continua a funzionare, ma i messaggi con errori vengono reindirizzati a un argomento separato per un'ulteriore analisi.

Controlla se l'annullamento del wrapping del payload è abilitato

  1. Nella console Google Cloud, vai alla pagina Abbonamenti.

    Aprire le sottoscrizioni Pub/Sub

  2. Fai clic sul nome del servizio.

    Viene visualizzata la pagina dei dettagli del servizio.

  3. Nella tabella di configurazione, individua i seguenti valori: Dati del messaggio unwrapping e Scrivi metadati dei messaggi.

    Lo stato del wrapping del payload (attivato o disabilitato) viene visualizzato nella riga della tabella corrispondente.

Passaggi successivi