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.
- Pahami cara kerja langganan pull.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan guna membuat langganan pull, minta administrator untuk memberi Anda peran IAM Editor Pub/Sub (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, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat langganan pull:
-
pubsub.subscriptions.createdi project -
pubsub.topics.attachSubscriptiondi topik
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Langganan lintas project
Jika Anda membuat langganan di satu project untuk topik di project lain, Anda harus memiliki izin pubsub.subscriptions.create di project tempat Anda membuat langganan, dan izin pubsub.topics.attachSubscription di topik.
Membuat langganan pull
Konsol
Untuk membuat langganan pull, ikuti langkah-langkah berikut:
Di Google Cloud konsol, buka halaman Subscriptions.
Klik Create subscription.
Di kolom Subscription ID, masukkan nama.
Untuk mengetahui informasi tentang cara memberi nama langganan, lihat Panduan untuk memberi nama topik atau langganan.
Di daftar Pub/Sub topic, pilih topik yang akan dibaca oleh langganan.
Untuk Delivery type, pilih Pull.
Opsional: Di bagian Transforms, tambahkan satu atau beberapa Single Message Transforms (SMT). Untuk mengetahui informasi selengkapnya, lihat Membuat langganan dengan SMT.
Opsional: Di kolom Filter, masukkan ekspresi filter untuk memfilter pesan dari langganan. Untuk mengetahui informasi selengkapnya, lihat Memfilter pesan dari langganan.
Untuk Retry policy, pilih salah satu opsi. Untuk mengetahui informasi selengkapnya, lihat Kebijakan coba lagi langganan.
Opsional: Aktifkan topik pesan yang dihentikan pengirimannya untuk menerima pesan yang tidak dapat dikirim.
Centang kotak Dead lettering.
Di daftar Dead letter topic, pilih atau buat topik pesan yang dihentikan pengirimannya.
Di kolom Maximum delivery attempts, masukkan jumlah maksimum upaya pengiriman.
Opsional: Di bagian Delivery properties, aktifkan atau nonaktifkan opsi pengiriman berikut:
Opsional: Di bagian Acknowledgement deadline, tetapkan batas waktu bagi pelanggan untuk memproses dan mengonfirmasi pesan. Untuk mengetahui informasi selengkapnya, lihat Memperpanjang waktu konfirmasi dengan pengelolaan lease.
Opsional: Di bagian Lifetime options, konfigurasi durasi langganan menyimpan pesan.
Di bagian Message retention duration, tentukan durasi pesan yang belum dikonfirmasi disimpan.
Untuk menyimpan pesan yang dikonfirmasi serta pesan yang belum dikonfirmasi, centang kotak Retain acknowledged messages.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi retensi pesan untuk langganan.
Opsional: Untuk Expiration period, pilih salah satu opsi:
Untuk menetapkan masa berlaku langganan, centang kotak Expire after this many days of inactivity. Masukkan jumlah hari langganan dapat tetap tidak aktif sebelum Pub/Sub menghapus langganan.
Untuk menonaktifkan masa berlaku langganan, centang kotak Never expire.
Untuk mengetahui informasi selengkapnya, lihat Masa berlaku langganan.
Klik Create.
Anda juga dapat membuat langganan dari bagian Topics. Tombol pintasan ini berguna untuk mengaitkan topik dengan langganan.
Di Google Cloud konsol, buka halaman Topics.
Klik more_vert di samping topik tempat Anda ingin membuat langganan.
Dari menu konteks, pilih Create subscription.
Di halaman Add subscription to topic, selesaikan langkah-langkah yang dijelaskan dalam prosedur sebelumnya. ID topik akan otomatis terisi.
gcloud
-
Di Google Cloud konsol, aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan prompt 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 pada sesi.
-
Untuk membuat langganan pull, jalankan perintah
gcloud pubsub subscriptions createcommand.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:
- PROJECT_ID adalah project ID Anda.
- SUBSCRIPTION_ID adalah ID langganan Anda.
- TOPIC_ID adalah topic ID Anda.
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: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Pub/Sub C++.
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Pub/Sub C#.
Go
Contoh berikut menggunakan library klien Pub/Sub Go 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 Go API Pub/Sub.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Pub/Sub.
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 Pub/Sub Node.js.
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 Pub/Sub Node.js.
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 Python API Pub/Sub.
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.
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 Monitoring untuk Pub/Sub.
Anda juga dapat memantau langganan dari dalam Pub/Sub.
Langkah berikutnya
- Menerima pesan dari langganan pull.
- Membuat atau mengubah langganan dengan
gcloudperintah. - Membuat atau mengubah langganan dengan REST API.