Pelanggan mungkin tidak dapat menangani pesan karena berbagai alasan. Misalnya, mungkin ada masalah sementara saat mengambil data yang diperlukan untuk memproses pesan. Atau, pesan mungkin dalam format yang tidak diharapkan pelanggan.
Halaman ini menjelaskan cara menangani kegagalan pemrosesan tersebut dengan menggunakan kebijakan percobaan ulang langganan atau dengan meneruskan pesan yang tidak terkirim ke topik yang dihentikan pengirimannya (juga dikenal sebagai antrean yang dihentikan pengirimannya).
Perhatikan bahwa fitur ini tidak didukung oleh Dataflow. Lihat bagian Fitur Pub/Sub yang tidak didukung dalam dokumentasi Dataflow untuk mengetahui informasi lebih lanjut.
Kebijakan percobaan ulang langganan
Jika Pub/Sub mencoba mengirimkan pesan, tetapi pelanggan tidak dapat mengonfirmasinya, Pub/Sub akan otomatis mencoba mengirim ulang pesan. Upaya pengiriman ulang ini dikenal sebagai kebijakan percobaan ulang langganan. Ini bukan fitur yang dapat Anda aktifkan atau nonaktifkan. Namun, Anda dapat memilih jenis kebijakan percobaan ulang yang ingin digunakan.
Saat pertama kali membuat dan mengonfigurasi langganan, Anda dapat memilih untuk menggunakan salah satu kebijakan percobaan ulang berikut, pengiriman ulang langsung atau backoff eksponensial. Secara default, langganan menggunakan pengiriman ulang langsung.
Pengiriman ulang langsung
Secara default, Pub/Sub mencoba mengirim ulang pesan dengan segera (dan berpotensi ke klien subscriber yang sama). Namun, jika kondisi yang mencegah pengakuan pesan belum berubah, pengiriman ulang langsung dapat menyebabkan masalah. Dalam hal ini, Pub/Sub mungkin akan mengirim ulang beberapa pesan yang tidak dapat dikonfirmasi.
Untuk mengatasi masalah pengiriman ulang langsung, Pub/Sub memungkinkan Anda mengonfigurasi kebijakan backoff eksponensial.
Backoff eksponensial
Backoff eksponensial memungkinkan Anda menambahkan penundaan yang semakin lama di antara percobaan ulang. Setelah kegagalan pengiriman pertama, Pub/Sub akan menunggu waktu backoff minimum sebelum mencoba lagi. Untuk setiap kegagalan pesan berturut-turut, waktu tambahan akan ditambahkan ke penundaan, hingga penundaan maksimum (0 dan 600 detik).
Interval penundaan maksimum dan minimum tidak tetap, dan harus dikonfigurasi berdasarkan faktor lokal untuk aplikasi Anda.
Perhatikan pertimbangan berikut tentang backoff eksponensial:
- Backoff eksponensial dipicu pada tindakan berikut:
- Saat konfirmasi negatif diterima.
- Saat batas waktu konfirmasi pesan berakhir.
- Backoff eksponensial hanya diterapkan per pesan, bukan untuk semua pesan dalam langganan (global).
- Saat menggunakan backoff eksponensial, Pub/Sub akan terus mengirimkan pesan lain, meskipun pesan sebelumnya menerima konfirmasi negatif (kecuali jika Anda menggunakan pengiriman pesan yang diurutkan).
Gunakan kebijakan percobaan ulang untuk menunda pengiriman dan pemrosesan sebagian pesan untuk mengakomodasi ketidakmampuan sementara untuk memproses beberapa pesan setelah pengiriman. Fitur ini diterapkan berdasarkan upaya terbaik dan setiap pesan dievaluasi untuk kebijakan percobaan ulang secara terpisah.
Sebaiknya jangan gunakan fitur ini untuk menyebabkan penundaan yang disengaja dalam pengiriman pesan. Jika Anda mengonfirmasi negatif (nack) sejumlah besar pesan pada langganan yang dikonfigurasi dengan kebijakan percobaan ulang, mungkin saja beberapa pesan tersebut dikirim dengan backoff yang lebih sedikit atau tidak ada. Pub/Sub juga dapat memperlambat pengiriman semua pesan jika Anda menolak sejumlah besar pesan.
Jika Anda perlu menjadwalkan pengiriman, pertimbangkan untuk menggunakan Cloud Tasks.
Mengonfigurasi backoff eksponensial
Konsol
Saat membuat langganan baru, Anda dapat mengonfigurasi kebijakan percobaan ulang backoff eksponensial menggunakan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Langganan Pub/Sub.
Klik Buat langganan.
Di kolom Subscription ID, masukkan nama.
Untuk informasi tentang cara memberi nama langganan, lihat Panduan memberi nama topik atau langganan.
Pilih atau buat topik dari menu drop-down.
Langganan menerima pesan dari topik.
Pilih Jenis pengiriman.
Di bagian Kebijakan percobaan ulang, pilih Coba lagi setelah backoff eksponensial.
Masukkan Backoff minimum dan Backoff maksimum antara 0 dan 600 detik.
Nilai default-nya adalah 10 detik untuk backoff minimum, dan 600 detik untuk backoff maksimum.
Klik Create.
gcloud
Untuk membuat langganan baru dengan kebijakan percobaan ulang backoff eksponensial, jalankan perintah gcloud pubsub create
dengan flag yang ditampilkan di bawah:
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --min-retry-delay=MIN_RETRY_DELAY \ --max-retry-delay=MAX_RETRY_DELAY
Topik yang dihentikan pengirimannya
Jika layanan Pub/Sub mencoba mengirim pesan, tetapi pelanggan tidak dapat mengonfirmasinya, Pub/Sub dapat meneruskan pesan yang tidak dapat dikirim ke topik yang dihentikan pengirimannya.
Cara kerja topik dead-letter dengan Pub/Sub
Topik yang dihentikan pengirimannya adalah properti langganan, bukan properti topik. Artinya, Anda menetapkan topik yang dihentikan pengirimannya saat membuat langganan, bukan saat membuat topik.
Jika membuat topik yang dihentikan pengirimannya, Anda dapat menetapkan properti langganan berikut:
Jumlah maksimum upaya pengiriman: Nilai numerik yang menunjukkan jumlah upaya pengiriman yang dilakukan Pub/Sub untuk pesan tertentu. Jika klien pelanggan tidak dapat mengonfirmasi pesan dalam jumlah upaya pengiriman yang dikonfigurasi, pesan tersebut akan diteruskan ke topik pesan tidak terkirim.
- Nilai default = 5
- Nilai maksimum = 100
- Nilai minimum = 5
Project dengan topik yang dihentikan pengirimannya: Jika topik yang dihentikan pengirimannya berada di project yang berbeda dengan langganan, Anda harus menentukan project dengan topik yang dihentikan pengirimannya. Tetapkan topik yang dihentikan pengirimannya ke topik yang berbeda dari topik yang disertakan dengan langganan.
Cara penghitungan upaya pengiriman maksimum
Pub/Sub hanya menghitung upaya pengiriman jika topik dead-letter dikonfigurasi dengan benar dan menyertakan izin IAM yang benar.
Jumlah maksimum percobaan pengiriman adalah perkiraan karena Pub/Sub meneruskan pesan yang tidak dapat dikirim berdasarkan upaya terbaik.
Jumlah upaya pengiriman yang dilacak untuk pesan juga dapat direset ke nol, terutama untuk langganan pull dengan pelanggan yang tidak aktif. Akibatnya, pesan mungkin dikirim ke klien pelanggan lebih dari jumlah maksimum percobaan pengiriman yang dikonfigurasi.
Mengonfigurasi topik yang dihentikan pengirimannya
Untuk mengonfigurasi topik yang dihentikan pengirimannya, topik sumber harus memiliki langganan terlebih dahulu. Anda dapat menentukan topik yang dihentikan pengirimannya saat membuat langganan, atau Anda dapat memperbarui langganan yang ada agar memiliki topik yang dihentikan pengirimannya.
Berikut adalah alur kerja untuk mengaktifkan dead lettering pada langganan.
Buat topik yang dihentikan pengirimannya. Topik ini terpisah dari topik sumber.
Tetapkan topik yang dihentikan pengirimannya di langganan untuk topik sumber.
Agar pesan dari topik yang dihentikan pengirimannya tidak hilang, lampirkan setidaknya satu langganan lain ke topik yang dihentikan pengirimannya. Langganan sekunder menerima pesan dari topik pesan yang dihentikan pengirimannya.
Berikan peran penayang dan pelanggan ke akun layanan Pub/Sub. Untuk mengetahui informasi selengkapnya, lihat Memberikan izin penerusan.
Menetapkan topik yang dihentikan pengirimannya pada langganan baru
Anda dapat membuat langganan dan menetapkan topik dead-letter menggunakan konsol Google Cloud, Google Cloud CLI, library klien, atau Pub/Sub API.
Konsol
Untuk membuat langganan dan menetapkan topik yang dihentikan pengirimannya, selesaikan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Langganan.
Klik Buat langganan.
Masukkan ID Langganan.
Pilih atau buat topik dari menu drop-down.
Langganan menerima pesan dari topik.
Di bagian Dead lettering, pilih Enable dead lettering.
Pilih atau buat topik surat tidak terkirim dari menu drop-down.
Jika topik yang dihentikan pengirimannya yang dipilih tidak memiliki langganan, sistem akan meminta Anda untuk membuatnya.
Di kolom Maximum delivery attempts, tentukan bilangan bulat antara 5 dan 100.
Klik Create.
Panel detail menampilkan daftar item tindakan yang mungkin. Jika salah satu item menampilkan ikon error
, klik item tindakan untuk menyelesaikan masalah.
gcloud
Untuk membuat langganan dan menetapkan topik yang dihentikan pengirimannya, gunakan perintah
gcloud pubsub subscriptions create
:
gcloud pubsub subscriptions create subscription-id \ --topic=topic-id \ --dead-letter-topic=dead-letter-topic-name \ [--max-delivery-attempts=max-delivery-attempts] \ [--dead-letter-topic-project=dead-letter-topic-project]
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C++ API.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C# API.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Go API.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java API Pub/Sub.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Pub/Sub.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Python API.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Ruby API.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menetapkan topik yang dihentikan pengirimannya untuk langganan yang ada
Anda dapat memperbarui langganan dan menetapkan topik dead-letter menggunakan konsol Google Cloud, Google Cloud CLI, library klien, atau Pub/Sub API.
Konsol
Untuk memperbarui langganan dan menetapkan topik surat mati, selesaikan langkah-langkah berikut.
Di konsol Google Cloud, buka halaman Langganan.
Di samping langganan yang ingin diperbarui, klik Tindakan lainnyamore_vert.
Di menu konteks, pilih Edit.
Di bagian Dead lettering, pilih Enable dead lettering.
Pilih atau buat topik dari menu drop-down.
Jika topik yang dipilih tidak memiliki langganan, sistem akan meminta Anda untuk membuatnya.
Di kolom Maximum delivery attempts, tentukan bilangan bulat antara 5 dan 100.
Klik Perbarui.
Panel detail menampilkan daftar item tindakan yang mungkin. Jika salah satu item menampilkan ikon error
, klik item tindakan untuk menyelesaikan masalah.
gcloud
Untuk memperbarui langganan dan menetapkan topik dead-letter, gunakan perintah gcloud pubsub subscriptions update
:
gcloud pubsub subscriptions update subscription-id \ --dead-letter-topic=dead-letter-topic-name \ [--max-delivery-attempts=max-delivery-attempts] \ [--dead-letter-topic-project=dead-letter-topic-project]
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C++ API.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C# API.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Go API.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java API Pub/Sub.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Pub/Sub.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Python API.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Ruby API.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Memberikan peran IAM untuk menggunakan topik dead-letter
Untuk meneruskan pesan yang tidak terkirim ke topik yang dihentikan pengirimannya, Pub/Sub harus memiliki izin untuk melakukan hal berikut:
- Memublikasikan pesan ke topik.
- Konfirmasi pesan, yang akan menghapusnya dari langganan.
Pub/Sub membuat dan mengelola akun layanan untuk setiap
project:
service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com
.
Anda dapat memberikan izin penerusan dengan menetapkan
peran penayang dan
pelanggan ke akun layanan ini.
Konsol
Untuk memberikan izin Pub/Sub agar dapat memublikasikan pesan ke topik dead-letter, selesaikan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Langganan.
Klik nama langganan yang memiliki topik dead-letter.
Klik tab Dead lettering.
Untuk menetapkan peran penayang, klik Berikan peran penayang. Jika peran penayang berhasil ditetapkan, Anda akan melihat tanda centang
berwarna biru.Untuk menetapkan peran subscriber, klik Berikan peran subscriber. Jika peran penayang berhasil ditetapkan, Anda akan melihat tanda centang
berwarna biru.
gcloud
Untuk memberikan izin Pub/Sub agar dapat memublikasikan pesan ke topik dead-letter, jalankan perintah berikut:
PUBSUB_SERVICE_ACCOUNT="service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud pubsub topics add-iam-policy-binding dead-letter-topic-name \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role="roles/pubsub.publisher"
Untuk memberikan izin Pub/Sub guna mengonfirmasi pesan yang diteruskan dan tidak dapat dikirim, jalankan perintah berikut:
PUBSUB_SERVICE_ACCOUNT="service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud pubsub subscriptions add-iam-policy-binding subscription-id \ --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\ --role="roles/pubsub.subscriber"
Melacak upaya pengiriman
Setelah Anda mengaktifkan topik dead-letter untuk langganan, setiap pesan dari langganan tersebut memiliki kolom yang menentukan jumlah upaya pengiriman:
Pesan yang diterima dari langganan pull menyertakan kolom
delivery_attempt
.Pesan yang diterima dari langganan push menyertakan kolom
deliveryAttempt
.
Contoh berikut menunjukkan cara mendapatkan jumlah upaya pengiriman:
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C++ API.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API C# Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Saat meneruskan pesan yang tidak terkirim ke topik yang dihentikan pengirimannya, Pub/Sub akan menambahkan atribut berikut ke pesan:
CloudPubSubDeadLetterSourceDeliveryCount
: Jumlah upaya pengiriman ke langganan sumber.CloudPubSubDeadLetterSourceSubscription
: Nama langganan sumber.CloudPubSubDeadLetterSourceSubscriptionProject
: Nama project yang berisi langganan sumber.CloudPubSubDeadLetterSourceTopicPublishTime
: Stempel waktu saat pesan dipublikasikan pertama kali.CloudPubSubDeadLetterSourceDeliveryErrorMessage
: Alasan pesan tidak dapat dikirim ke tujuan awal. Atribut ini hanya ada untuk langganan ekspor.
Memantau pesan yang diteruskan
Setelah meneruskan pesan yang tidak terkirim, layanan Pub/Sub akan menghapus pesan dari langganan. Anda dapat memantau pesan yang diteruskan dengan Cloud Monitoring.
Jika Anda melampirkan langganan ke topik yang dihentikan pengirimannya, pesan akan menggunakan kebijakan habis masa berlaku langganan yang dilampirkan, bukan periode habis masa berlaku langganan dengan properti topik yang dihentikan pengirimannya.
Metrik subscription/dead_letter_message_count
mencatat jumlah pesan yang tidak dapat dikirim yang diteruskan Pub/Sub
dari langganan.
Untuk informasi selengkapnya, lihat Memantau pesan yang diteruskan dan tidak dapat dikirim.
Menghapus topik yang dihentikan pengirimannya
Untuk berhenti meneruskan pesan yang tidak dapat dikirim, hapus topik yang dihentikan pengirimannya dari langganan.
Anda dapat menghapus topik dead-letter dari langganan menggunakan konsol Google Cloud, Google Cloud CLI, atau Pub/Sub API.
Konsol
Untuk menghapus topik dead-letter dari langganan, selesaikan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Langganan.
Dalam daftar langganan, klik more_vert di samping langganan yang akan diperbarui.
Dari menu konteks, pilih Edit.
Di bagian Dead lettering, hapus centang Enable dead lettering.
Klik Perbarui.
gcloud
Untuk menghapus topik dead-letter dari langganan, gunakan perintah gcloud pubsub subscriptions update
dan flag --clear-dead-letter-policy
:
gcloud pubsub subscriptions update subscription-id \ --clear-dead-letter-policy
C++
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C++ di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C++ API.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub C# API.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Go API.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Java API Pub/Sub.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Pub/Sub.
PHP
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan PHP di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API PHP Pub/Sub.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Python API.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan Memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Ruby API.
Ruby
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di panduan memulai Pub/Sub menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Pub/Sub.
Untuk melakukan autentikasi ke Pub/Sub, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Harga
Saat layanan Pub/Sub meneruskan pesan yang tidak dapat dikirim, biaya berikut akan berlaku:
- Biaya publikasi ditagih ke akun penagihan yang terkait dengan project yang berisi topik surat mati.
- Biaya langganan untuk pesan keluar yang ditagih ke akun penagihan yang terkait dengan project yang berisi langganan dengan properti topik pesan tidak terkirim.
Jika Anda menetapkan properti topik dead-letter dari langganan, tetapi kebijakan lokasi penyimpanan pesan dari topik dead-letter tidak mengizinkan region yang berisi langganan, biaya publikasi untuk pesan keluar juga berlaku.
Biaya publikasi untuk pesan keluar ditagih ke project yang berisi topik pesan tidak terkirim. Untuk mengetahui informasi selengkapnya, lihat Harga.
Langkah selanjutnya
- Mendapatkan pesan yang diteruskan yang tidak dapat dikirim.
- Memantau aplikasi Pub/Sub.
- Pelajari konsep pengiriman pesan.