Memecahkan masalah pembukaan payload

Halaman ini menunjukkan cara menyelesaikan masalah pembukaan payload.

Error kode status HTTP

Saat menggunakan pembukaan payload, error kode status HTTP umum dapat terjadi. Anda dapat memantau error dengan metrik push_request_count.

400 permintaan buruk

Error berikut terjadi ketika Pub/Sub tidak dapat memproses permintaan karena kesalahan konfigurasi atau data tidak ada.

400 Bad Request

Error ini terjadi karena beberapa alasan. Berikut adalah beberapa penyebab error paling umum:

  • Payload (data pesan) tidak cocok dengan format permintaan yang diharapkan yang ditentukan oleh endpoint HTTP.
  • Header yang diperlukan untuk memproses permintaan tidak ada.
  • Endpoint HTTP yang salah dikonfigurasi untuk langganan.

Untuk mengatasi masalah ini, coba solusi berikut:

  • Periksa format payload Anda (data pesan). Pastikan format permintaan ini cocok dengan format permintaan yang diharapkan yang ditentukan oleh endpoint HTTP.
  • Periksa apakah permintaan berisi header yang diperlukan. Jika header tidak ada, Anda mungkin perlu menambahkannya dalam atribut pesan. Contohnya dapat mencakup Content-Type, tetapi contoh lainnya mungkin juga diperlukan.
  • Pastikan endpoint HTTP yang dikonfigurasi untuk langganan Anda valid.
  • Aktifkan Dead Letter Queue (DLQ) pada langganan push Anda. Tindakan ini akan mengalihkan setiap pesan yang tidak dapat dikirimkan. Sebaiknya aktifkan DLQ jika Anda menemukan sedikit error 400 yang ingin diperiksa.

401 tidak sah / 403 terlarang

Error berikut terjadi ketika Pub/Sub tidak dapat memproses permintaan karena kredensial salah atau tidak valid.

401 unauthorized / 403 forbidden

Error ini terjadi karena langganan push tidak diautentikasi.

Untuk mengatasi masalah ini, coba solusi berikut:

  • Aktifkan Autentikasi push. Sebaiknya gunakan autentikasi Push jika Anda berintegrasi dengan Cloud Run atau App Engine.

    Jika autentikasi push tidak berfungsi dengan solusi Anda, Anda mungkin perlu menambahkan kunci otorisasi atau kunci API Anda sendiri dalam atribut publikasikan pesan.

415 Jenis Media yang Tidak Didukung

Error berikut terjadi saat Pub/Sub tidak dapat memproses permintaan karena format payload dalam format yang tidak didukung.

415 Unsupported Media Type

Error ini terjadi karena beberapa alasan. Berikut adalah beberapa penyebab error paling umum:

  • Endpoint tidak memiliki header jenis media yang diperlukan.

Untuk mengatasi masalah ini, coba solusi berikut:

  • Endpoint Anda mungkin memerlukan header Content-Type. Secara default, pembukaan payload tidak menetapkan header jenis media. Anda dapat menetapkan header Content-Type dengan melampirkannya sebagai atribut publikasi pesan.

431 bidang header permintaan terlalu besar / 413 konten terlalu besar

Error berikut terjadi saat Pub/Sub tidak dapat memproses permintaan karena konten yang dikirim dalam permintaan terlalu besar.

431 request header fields too Large / 413 content too large

Error ini terjadi jika atribut dalam pesan Pub/Sub melebihi ukuran batas header server.

Untuk mengatasi masalah tersebut, coba solusi berikut:

  • Nonaktifkan Tulis metadata.
  • Aktifkan Dead Letter Queue (DLQ) pada langganan push Anda. Tindakan ini akan mengalihkan setiap pesan yang tidak dapat dikirimkan. Setelah itu, langganan Anda akan terus dijalankan, tetapi pesan yang berisi error akan dialihkan ke topik terpisah untuk analisis lebih lanjut.

Periksa apakah pembukaan payload diaktifkan

  1. Di konsol Google Cloud, buka halaman Langganan.

    Buka langganan Pub/Sub

  2. Klik nama layanan Anda.

    Halaman detail layanan akan terbuka.

  3. Dalam tabel konfigurasi, temukan nilai berikut: Message data unwrapping dan Write message metadata.

    Status penggabungan payload (diaktifkan atau dinonaktifkan) akan ditampilkan di baris tabel yang sesuai.

Langkah selanjutnya