Risolvere i problemi relativi all'annullamento del wrapping del payload

Questa pagina mostra come risolvere i problemi relativi all'annullamento del wrapping del payload.

Errori relativi ai codici di stato HTTP

Quando utilizzi l'annullamento del wrapping del payload, possono verificarsi errori comuni relativi al codice di stato HTTP. Puoi monitorare gli errori con la metrica push_request_count.

Richiesta non valida (400)

Il seguente errore si verifica quando Pub/Sub non può 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 riportate alcune delle cause più comuni dell'errore:

  • Il payload (dati dei messaggi) 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 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, potrebbe essere necessario aggiungerle agli attributi del messaggio. Un esempio può includere Content-Type, ma potrebbero essere necessari anche altri.
  • Verifica che l'endpoint HTTP configurato per la tua sottoscrizione sia valido.
  • Attiva Dead Letter Queue (DLQ) nella sottoscrizione push. Questo reindirizza i singoli messaggi che non possono essere recapitati. È utile abilitare i contenuti DLQ se noti un numero ridotto di errori 400 che vuoi esaminare.

401 non autorizzato / 403 non autorizzato

Il seguente errore si verifica quando Pub/Sub non può elaborare la richiesta a causa di credenziali errate o non valide.

401 unauthorized / 403 forbidden

Questo errore si verifica perché la sottoscrizione push non è autenticata.

Per risolvere il problema, prova le seguenti soluzioni:

  • Attiva 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, potrebbe essere necessario aggiungere la tua chiave di autorizzazione o la chiave API negli attributi del messaggio di pubblicazione.

415 Tipo di supporto non supportato

Il seguente errore si verifica quando Pub/Sub non può 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 tipo di media obbligatoria.

Per risolvere il problema, prova la seguente soluzione:

  • È probabile che il tuo endpoint richieda un'intestazione Content-Type. Per impostazione predefinita, l'annullamento del wrapping del payload non imposta un'intestazione di tipo multimediale. Puoi impostare un'intestazione Content-Type allegandola come attributo di pubblicazione del messaggio.

431 campi intestazione richiesta troppo grandi / 413 contenuti troppo grandi

Il seguente errore si verifica quando Pub/Sub non può 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 la dimensione limite di intestazione di un server.

Per risolvere questi problemi, prova le seguenti soluzioni:

  • Disattiva Scrivi metadati.
  • Attiva Dead Letter Queue (DLQ) nella sottoscrizione push. Questo reindirizza i singoli messaggi che non possono essere recapitati. Dopo, l'abbonamento continua a funzionare, ma i messaggi con errori vengono reindirizzati a un argomento separato per ulteriori analisi.

Controlla se l'annullamento del wrapping del payload è abilitato

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

    Sottoscrizioni Pub/Sub aperte

  2. Fai clic sul nome del tuo servizio.

    Si apre la pagina dei dettagli del servizio.

  3. Nella tabella di configurazione, individua i seguenti valori: Unwrapping dei dati dei messaggi e Scrivi metadati dei messaggi.

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

Passaggi successivi

  • Se continui a riscontrare problemi con l'annullamento del wrapping del payload, vedi Ricevere assistenza.