Mengonfigurasi retensi pesan untuk langganan

Halaman ini menjelaskan cara langganan Pub/Sub mempertahankan pesan yang dipublikasikan dan cara mengonfigurasi perilaku ini. Anda dapat mengubah setelan default karena alasan berikut:

  • Untuk menyesuaikan berapa lama pesan yang tidak terkonfirmasi tetap tersedia untuk langganan sebelum dihapus.
  • Untuk mengaktifkan pemutaran ulang pesan yang sebelumnya dikonfirmasi.

Ringkasan

Saat Anda membuat langganan, Pub/Sub mulai menyimpan pesan yang dipublikasikan atas nama langganan. Secara default, Pub/Sub menghapus pesan dari langganan segera setelah pesan dikonfirmasi, dan menyimpan pesan yang tidak terkonfirmasi selama 7 hari.

Anda dapat menetapkan durasi retensi saat membuat atau memperbarui langganan. Durasi retensi minimum adalah 10 menit, dan maksimumnya adalah 31 hari.

Anda juga dapat mengaktifkan langganan untuk mempertahankan pesan yang dikonfirmasi, hingga durasi retensi yang dikonfigurasi. Dengan mempertahankan pesan yang dikonfirmasi, Anda dapat memutar ulang pesan yang sebelumnya dikonfirmasi selama pesan tersebut dipertahankan. Untuk informasi selengkapnya tentang memutar ulang pesan, lihat Memutar ulang dan menghapus permanen pesan dengan fitur cari.

Jika langganan dikonfigurasi untuk mempertahankan pesan yang terkonfirmasi, biaya penyimpanan untuk pesan terkonfirmasi yang dipertahankan oleh langganan akan ditagih ke project langganan.

Jika Anda juga mengaktifkan retensi pesan di topik langganan, maka pesan akan dihapus dari langganan hanya jika usianya melebihi durasi retensi maksimum langganan dan retensi topik. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan retensi pesan topik.

Mengonfigurasi retensi pesan

Untuk membuat langganan yang mempertahankan pesan yang terkonfirmasi, lakukan langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Pub/Sub subscriptions.

    Buka halaman langganan

  2. Klik Buat langganan.

  3. Di kolom Subscription ID, masukkan ID untuk langganan Anda.

  4. Di bagian Durasi retensi pesan, pilih jumlah hari, jam, dan menit untuk menyimpan pesan.

  5. Centang kotak Retain acknowledged messages.

  6. Klik Buat langganan.

gcloud

Gunakan gcloud pubsub subscriptions create:

gcloud pubsub subscriptions create SUBSCRIPTION_ID \
  --message-retention-duration=5d \
  --retain-acked-messages

Ganti SUBSCRIPTION_ID dengan ID langganan.

Jika Anda menghilangkan tanda --message-retention-duration, pesan akan dipertahankan selama durasi default 7 hari.

Untuk memperbarui setelan retensi pesan pada langganan yang ada, lakukan langkah-langkah berikut:

Konsol

  1. Pilih langganan Anda dari halaman Pub/Sub subscriptions.

    Buka halaman langganan

  2. Klik Edit di bagian atas halaman detail langganan.

  3. Di bagian Durasi retensi pesan, perbarui jumlah hari, jam, dan menit untuk menyimpan pesan.

  4. Centang atau hapus centang pada kotak Retain acknowledged messages.

  5. Klik Perbarui untuk menyimpan perubahan pada langganan.

gcloud

Guakan perintah gcloud pubsub subscriptions update:

gcloud pubsub subscriptions update SUBSCRIPTION_ID \
  --message-retention-duration=1d \
  --retain-acked-messages

Untuk menonaktifkan retensi pesan yang telah dibaca, gunakan perintah update dengan flag --no-retain-acked-messages:

gcloud pubsub subscriptions update SUBSCRIPTION_ID \
  --no-retain-acked-messages

Langkah berikutnya