Saat membuat langganan, Anda melampirkan langganan ke topik, dan pelanggan dapat menerima pesan dari langganan. Untuk mencegah pelanggan 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 untuk melepaskan langganan dan mengelolanya,
minta administrator untuk memberi Anda peran IAM
Pub/Sub Editor (roles/pubsub.editor
) pada topik atau project Anda.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk melepaskan langganan dan mengelolanya. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melepaskan langganan dan mengelolanya:
-
Mengambil dari langganan:
pubsub.subscriptions.consume
-
Buat langganan:
pubsub.subscriptions.create
-
Menghapus langganan:
pubsub.subscriptions.delete
-
Dapatkan langganan:
pubsub.subscriptions.get
-
Cantumkan langganan:
pubsub.subscriptions.list
-
Memperbarui langganan:
pubsub.subscriptions.update
-
Melampirkan langganan ke topik:
pubsub.topics.attachSubscription
-
Mendapatkan kebijakan IAM untuk langganan:
pubsub.subscriptions.getIamPolicy
-
Konfigurasi kebijakan IAM untuk langganan:
pubsub.subscriptions.setIamPolicy
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
Anda dapat mengonfigurasi kontrol akses pada level project dan level resource individual. Anda dapat membuat langganan dalam satu project dan melampirkannya ke topik yang terletak di project berbeda. Pastikan Anda memiliki izin yang diperlukan untuk setiap project.
Melepas 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 tempat Anda ingin melepaskan langganan.
Di tab Langganan, pilih langganan yang akan dilepas.
Di halaman Detail langganan, klik Lepaskan.
Pada dialog yang muncul, klik Lepaskan lagi.
gcloud
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
-
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 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 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 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 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 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 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 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 pelepasan langganan dari topik.
Setelah layanan Pub/Sub melepaskan langganan dari topik, layanan Pub/Sub akan menghapus pesan apa pun yang dipertahankan untuk langganan. Anda tidak dapat mengambil pesan ini dari langganan atau melampirkan kembali langganan ke topik. Untuk mengosongkan kuota project Google Cloud Anda, hapus langganan.
Jika langganan dan topik berada di project Google Cloud yang berbeda, layanan Pub/Sub akan menambahkan entri ke log audit kedua project.
Langkah selanjutnya
- Membuat atau mengubah langganan dengan perintah
gcloud
. - Membuat atau mengubah langganan dengan REST API.