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 headerContent-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
Di konsol Google Cloud, buka halaman Langganan.
Klik nama layanan Anda.
Halaman detail layanan akan terbuka.
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
- Jika Anda masih mengalami masalah dengan pembukaan payload, lihat Mendapatkan dukungan.