Saat membuat langganan, Anda melampirkan langganan ke topik, dan pelanggan dapat menerima pesan dari langganan tersebut. Untuk menghentikan pelanggan menerima pesan, Anda dapat melepaskan langganan dari topik.
Sebelum memisahkan 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 dan mengelola langganan, 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
-
Konfigurasi 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 dalam satu project dan melampirkannya ke topik yang berada dalam project lain. Pastikan Anda memiliki izin yang diperlukan untuk setiap project.
Melepaskan langganan dari topik
Anda dapat melepaskan langganan dari topik menggunakan konsol Trusted Cloud , Google Cloud CLI, library klien, atau Pub/Sub API.
Konsol
Untuk melepaskan langganan, ikuti langkah-langkah berikut:
Di konsol Trusted Cloud , buka halaman Topics.
Pilih topik yang langganannya ingin Anda batalkan.
Di tab Langganan, pilih langganan yang akan dilepas.
Di halaman Subscription details, klik Detach.
Pada dialog yang muncul, klik Lepaskan lagi.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted 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].
- PROJECT_ID adalah project ID Anda.
- SUBSCRIPTION_ID adalah ID langganan Anda.
REST
Untuk melepaskan langganan, gunakan metode projects.subscriptions.detach
.
Permintaan:
Permintaan harus diautentikasi dengan token akses di header
Authorization
. Untuk mendapatkan token akses bagi 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:
Respons:
Jika permintaan berhasil, responsnya adalah objek JSON kosong.
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 API C# Pub/Sub.
Go
Contoh berikut menggunakan library klien Go Pub/Sub versi utama (v2). Jika Anda masih menggunakan library v1, lihat panduan migrasi ke v2. Untuk melihat daftar contoh kode v1, lihat contoh kode yang tidak digunakan lagi.
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 Pub/Sub Java API.
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.ts
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
Contoh berikut menggunakan library klien Pub/Sub Ruby v3. Jika Anda masih menggunakan library v2, lihat panduan migrasi ke v3. Untuk melihat daftar contoh kode Ruby v2, lihat contoh kode yang tidak digunakan lagi.
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Ruby di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Ruby Pub/Sub.
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, hapus langganan. Trusted Cloud
Jika langganan dan topik berada di Trusted Cloud project yang berbeda, layanan Pub/Sub akan menambahkan entri ke log audit kedua project tersebut.