Saat membuat langganan, Anda melampirkan langganan ke topik, dan pelanggan dapat menerima pesan dari langganan. Untuk menghentikan pelanggan agar tidak menerima pesan, Anda dapat melepaskan langganan dari topik.
Sebelum melepaskan langganan, Anda memerlukan izin pubsub.topics.detachSubscription
pada topik. Anda dapat melepaskan
langganan tanpa izin pada langganan, yang berguna untuk
mengelola topik yang berada dalam project yang berbeda dengan langganan. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses Pub/Sub.
Sebelum memulai
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan guna melepaskan langganan dan mengelolanya,
minta administrator untuk memberi Anda
peran IAM Pub/Sub Editor (roles/pubsub.editor
) di topik atau project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk melepaskan langganan dan mengelolanya. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melepaskan langganan dan mengelolanya:
-
Menarik dari langganan:
pubsub.subscriptions.consume
-
Buat langganan:
pubsub.subscriptions.create
-
Menghapus langganan:
pubsub.subscriptions.delete
-
Mendapatkan langganan:
pubsub.subscriptions.get
-
Mencantumkan langganan:
pubsub.subscriptions.list
-
Memperbarui langganan:
pubsub.subscriptions.update
-
Melampirkan langganan ke topik:
pubsub.topics.attachSubscription
-
Dapatkan kebijakan IAM untuk langganan:
pubsub.subscriptions.getIamPolicy
-
Konfigurasikan kebijakan IAM untuk langganan:
pubsub.subscriptions.setIamPolicy
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Anda dapat mengonfigurasi kontrol akses di tingkat project dan di tingkat resource individual. Anda dapat membuat langganan di satu project dan melampirkannya ke topik yang berada di project lain. Pastikan Anda memiliki izin yang diperlukan untuk setiap project.
Melepaskan langganan dari topik
Anda dapat melepaskan langganan dari topik menggunakan konsol Google Cloud, Google Cloud CLI, library klien, atau Pub/Sub API.
Konsol
Untuk melepaskan langganan, ikuti langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Topics.
Pilih topik yang langganannya ingin Anda lepaskan.
Di tab Langganan, pilih langganan yang akan dilepaskan.
Di halaman Detail langganan, klik Lepaskan.
Pada dialog yang muncul, klik Lepaskan lagi.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Untuk melepaskan langganan, gunakan perintah
gcloud pubsub topics detach-subscription
:gcloud pubsub topics detach-subscription SUBSCRIPTION_ID
Jika permintaan berhasil, command line akan menampilkan konfirmasi:
Detached subscription [SUBSCRIPTION_ID].
REST
Untuk melepaskan langganan, gunakan metode projects.subscriptions.detach
.
Permintaan:
Permintaan harus diautentikasi dengan token akses di header Authorization
. Untuk mendapatkan token akses untuk Kredensial Default Aplikasi saat ini, gunakan perintah
gcloud auth application-default print-access-token
.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:detach Authorization: Bearer ACCESS_TOKEN
Dengan keterangan:
Respons:
Jika permintaan berhasil, responsnya adalah objek JSON kosong.
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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, baca 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, baca 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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Node.js
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, baca 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, baca 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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Layanan Pub/Sub mungkin memerlukan waktu beberapa menit untuk menyelesaikan pemisahan langganan dari topik.
Setelah layanan Pub/Sub melepaskan langganan dari topik, layanan Pub/Sub akan menghapus pesan apa pun yang disimpannya untuk langganan. Anda tidak dapat mengambil pesan ini dari langganan atau melampirkan kembali langganan ke topik. Untuk mengosongkan kuota project Google Cloud, hapus langganan.
Jika subscription dan topic berada di project Google Cloud yang berbeda, layanan Pub/Sub akan menambahkan entri ke log audit kedua project tersebut.
Langkah selanjutnya
- Buat atau ubah langganan dengan perintah
gcloud
. - Buat atau ubah langganan dengan REST API.