Dokumen ini menjelaskan cara membuat langganan pull. Anda dapat menggunakan konsol Google Cloud, Google Cloud CLI, library klien, atau Pub/Sub API untuk membuat langganan pull.
Sebelum memulai
- Pelajari langganan.
- Evaluasi apakah bisnis Anda memerlukan langganan pull.
- Memahami cara kerja langganan pull.
Peran dan izin yang diperlukan
Untuk membuat langganan, Anda harus mengonfigurasi kontrol akses di tingkat project. Anda juga memerlukan izin tingkat resource jika langganan dan topik berada di project yang berbeda, seperti yang akan dibahas nanti di bagian ini.
Untuk mendapatkan izin yang diperlukan guna membuat langganan pull,
minta administrator untuk memberi Anda
peran IAM Pub/Sub Editor (roles/pubsub.editor
) pada project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat langganan pull. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat langganan pull:
-
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
-
Lampirkan 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.
Jika Anda perlu membuat langganan pull di satu project yang terkait dengan topik di project lain, minta administrator topik untuk juga memberi Anda peran IAM (roles/pubsub.editor)
Editor Pub/Sub pada topik tersebut.
Menarik properti langganan
Saat mengonfigurasi langganan pull, Anda dapat menentukan properti berikut.
Properti umum
Pelajari properti langganan umum yang dapat Anda tetapkan di semua langganan.
Pengiriman tepat satu kali
Pengiriman tepat satu kali. Jika ditetapkan, Pub/Sub akan memenuhi jaminan pengiriman tepat satu kali. Jika tidak ditentukan, langganan mendukung pengiriman minimal satu kali untuk setiap pesan.
Membuat langganan pull
Contoh berikut menunjukkan cara membuat langganan dengan pengiriman pull, menggunakan setelan default yang disediakan.
Konsol
Untuk membuat langganan pull, selesaikan langkah-langkah berikut.
Di konsol Google Cloud, buka halaman Langganan.
- Klik Buat langganan.
Untuk kolom Subscription ID, masukkan nama.
Untuk informasi tentang cara memberi nama langganan, lihat Panduan untuk memberi nama topik atau langganan.
- Pilih atau buat topik dari menu drop-down. Langganan menerima pesan dari topik.
- Pertahankan Jenis pengiriman sebagai Pull.
- Pertahankan semua nilai default lainnya.
- Klik Create.
Anda juga dapat membuat langganan dari bagian Topik. Pintasan ini berguna untuk mengaitkan topik dengan langganan.
Di konsol Google Cloud, buka halaman Topics.
- Klikmore_vertdi samping topik yang akan digunakan untuk membuat langganan.
- Dari menu konteks, pilih Buat langganan.
Masukkan ID Langganan.
Untuk informasi tentang cara memberi nama langganan, lihat Panduan untuk memberi nama topik atau langganan.
- Pertahankan Jenis pengiriman sebagai Pull.
- Pertahankan semua nilai default lainnya.
- Klik Create.
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 membuat langganan pull, jalankan
perintah
gcloud pubsub subscriptions create
.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Ganti kode berikut:
SUBSCRIPTION_ID
: Nama atau ID langganan pull baru Anda.TOPIC_ID
: Nama atau ID topik Anda.
REST
Untuk membuat langganan pull, gunakan metode
projects.subscriptions.create
:
Permintaan:
Permintaan harus diautentikasi dengan token akses di header Authorization
. Untuk mendapatkan
token akses untuk Kredensial Default Aplikasi saat ini:
gcloud auth application-default print-access-token
.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID Authorization: Bearer ACCESS_TOKEN
Isi permintaan:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_ID" }
Dengan keterangan:
Respons:
{ "name": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_ID/topics/TOPIC_ID", "pushConfig": {}, "ackDeadlineSeconds": 10, "messageRetentionDuration": "604800s", "expirationPolicy": { "ttl": "2678400s" } }
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Memantau langganan pull
Cloud Monitoring menyediakan sejumlah metrik untuk memantau langganan.
Untuk mengetahui daftar semua metrik yang tersedia terkait Pub/Sub dan deskripsinya, lihat Dokumentasi pemantauan untuk Pub/Sub.
Anda juga dapat memantau langganan dari dalam Pub/Sub.
Langkah selanjutnya
- Buat atau ubah langganan dengan perintah
gcloud
. - Buat atau ubah langganan dengan REST API.