Risolvere i problemi di annullamento del wrapping del payload

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

Errori di codice di stato HTTP

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

400 Bad Request

Il seguente errore si verifica quando Pub/Sub non riesce a elaborare la richiesta a causa di una configurazione errata 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 del messaggio) non corrisponde al formato della richiesta previsto specificato dall'endpoint HTTP.
  • Mancano le intestazioni necessarie per elaborare la richiesta.
  • Per l'abbonamento è configurato un endpoint HTTP errato.

Per risolvere il problema, prova le seguenti soluzioni:

  • Controlla il formato del payload (dati del messaggio). Assicurati che corrisponda al formato della richiesta previsto specificato dall'endpoint HTTP.
  • Verifica che la richiesta contenga le intestazioni richieste. Se le intestazioni non sono presenti, potresti doverle aggiungere negli attributi del messaggio. Ad esempio, potresti dover includere Content-Type, ma potrebbero essere necessari anche altri elementi.
  • Verifica che l'endpoint HTTP configurato per l'abbonamento sia valido.
  • Abilita la coda di messaggi non recapitabili (DLQ) nella sottoscrizione push. In questo modo vengono reindirizzati i singoli messaggi che non possono essere essere consegnati. È utile abilitare la DLQ se visualizzi un numero ridotto di errori 400 che vuoi esaminare.

401 non autorizzato / 403 accesso negato

Il seguente errore si verifica quando Pub/Sub non riesce a 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 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 riesce a elaborare la richiesta perché il formato del payload 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 del tipo di media obbligatoria.

Per risolvere il problema, prova la seguente soluzione:

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

431 request header fields too large / 413 content too large

Si verifica il seguente errore 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 di un messaggio Pub/Sub superano le dimensioni del limite di intestazione di un server.

Per risolvere questi problemi, prova le seguenti soluzioni:

  • Disattiva Scrivi metadati.
  • Attiva la coda di messaggi non recapitabili (DLQ) nella sottoscrizione push. In questo modo vengono reindirizzati i singoli messaggi che non possono essere essere consegnati. Successivamente, l'abbonamento continua a funzionare, ma i messaggi con errori vengono reindirizzati a un argomento separato per ulteriori analisi.

Controllare se l'annullamento del wrapping del payload è abilitato

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

    Sottoscrizioni Pub/Sub aperte

  2. Fai clic sul nome del servizio.

    Viene visualizzata la pagina dei dettagli del servizio.

  3. Nella tabella di configurazione, trova i seguenti valori: Estrazione dei dati dei messaggi e Scrittura dei metadati dei messaggi.

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

Passaggi successivi