Halaman ini menunjukkan cara menyelesaikan masalah terkait penguraian payload.
Error kode status HTTP
Saat menggunakan penguraian payload, error kode status HTTP umum dapat terjadi.
Anda dapat memantau error dengan metrik push_request_count
.
400 bad request
Error berikut terjadi saat Pub/Sub tidak dapat memproses permintaan karena kesalahan konfigurasi atau data yang tidak ada.
400 Bad Request
Error ini terjadi karena beberapa alasan. Berikut adalah beberapa penyebab error yang 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 (data pesan) Anda. Pastikan format tersebut sesuai dengan format permintaan yang diharapkan yang ditentukan oleh endpoint HTTP.
- Pastikan permintaan berisi header yang diperlukan. Jika header tidak ada,
Anda mungkin perlu menambahkannya di atribut pesan. Contohnya dapat mencakup
Content-Type
, tetapi yang lainnya mungkin juga diperlukan. - Pastikan endpoint HTTP yang dikonfigurasi untuk langganan Anda valid.
- Aktifkan Dead Letter Queue (DLQ) di langganan push Anda. Tindakan ini akan mengalihkan setiap pesan yang tidak dapat dikirim. Sebaiknya aktifkan DLQ jika Anda melihat sejumlah kecil error 400 yang ingin diperiksa.
401 unauthorized / 403 forbidden
Error berikut terjadi saat 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. Menggunakan autentikasi Push penting 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 di atribut pesan publikasi.
415 Jenis Media 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 yang 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, penguraian payload tidak menetapkan header jenis media. Anda dapat menetapkan headerContent-Type
dengan melampirkannya sebagai atribut pesan publikasi.
431 kolom 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 ini, coba solusi berikut:
- Nonaktifkan Tulis metadata.
- Aktifkan Dead Letter Queue (DLQ) di langganan push Anda. Tindakan ini akan mengalihkan setiap pesan yang tidak dapat dikirim. Setelah itu, langganan Anda akan terus beroperasi, tetapi pesan dengan error akan dialihkan ke topik terpisah untuk analisis lebih lanjut.
Memeriksa apakah penguraian payload diaktifkan
Di konsol Google Cloud, buka halaman Langganan.
Klik nama layanan Anda.
Halaman detail layanan akan terbuka.
Di tabel konfigurasi, temukan nilai berikut: Pembongkaran data pesan dan Tulis metadata pesan.
Status penggabungan payload (diaktifkan atau dinonaktifkan) ditampilkan di baris tabel yang sesuai.
Langkah selanjutnya
- Jika Anda masih mengalami masalah dengan penguraian payload, lihat Mendapatkan dukungan.