Memublikasikan dan menerima pesan di Pub/Sub menggunakan library klien
- Produser data memublikasikan pesan ke topik Pub/Sub.
- Klien pelanggan membuat langganan ke topik tersebut dan menggunakan pesan dari langganan.
Anda dapat menyiapkan lingkungan Pub/Sub menggunakan salah satu metode berikut:konsol, Cloud Shell, library klien, atau REST API. Google Cloud Halaman ini menunjukkan cara mulai memublikasikan pesan dengan Pub/Sub menggunakan library klien.
Pub/Sub menawarkan library klien tingkat tinggi dan tingkat rendah yang dibuat secara otomatis. Secara default, seperti dalam panduan memulai ini, sebaiknya gunakan library klien tingkat tinggi.
Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Pub/Sub API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable pubsub.googleapis.com
-
Buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
-
Memberikan peran ke akun pengguna Anda. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut:
roles/pubsub.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ganti kode berikut:
PROJECT_ID: Project ID Anda.USER_IDENTIFIER: ID untuk akun pengguna Anda. Misalnya,myemail@example.com.ROLE: Peran IAM yang Anda berikan ke akun pengguna Anda.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan Pub/Sub API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable pubsub.googleapis.com
-
Buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
-
Memberikan peran ke akun pengguna Anda. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut:
roles/pubsub.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ganti kode berikut:
PROJECT_ID: Project ID Anda.USER_IDENTIFIER: ID untuk akun pengguna Anda. Misalnya,myemail@example.com.ROLE: Peran IAM yang Anda berikan ke akun pengguna Anda.
Menginstal library klien
Contoh berikut menunjukkan cara menginstal library klien:
Python
Untuk mengetahui informasi selengkapnya tentang cara menyiapkan lingkungan pengembangan Python, lihat Panduan Penyiapan Lingkungan Pengembangan Python.
# ensure that you are using virtualenv
# as described in the python dev setup guide
pip install --upgrade google-cloud-pubsub
C++
Untuk mengetahui informasi selengkapnya tentang cara menginstal library C++,
lihat GitHub README
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get cloud.google.com/go/pubsub
Java
Jika Anda menggunakan Maven, tambahkan kode berikut ke file pom.xml Anda: Untuk informasi lebih lanjut tentang
BOM, lihat BOM Library Google Cloud Platform.
Jika menggunakan Gradle, tambahkan kode berikut ke dependensi Anda:
Jika Anda menggunakan sbt, tambahkan kode berikut ke dependensi Anda:
Jika menggunakan Visual Studio Code atau IntelliJ, Anda dapat menambahkan library klien ke project menggunakan plugin IDE berikut:
Plugin menyediakan fungsi tambahan, seperti pengelolaan kunci untuk akun layanan. Lihat dokumentasi setiap plugin untuk mengetahui detailnya.
Node.js
npm install @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
Buat topik dan langganan
Setelah membuat topik, Anda dapat berlangganan atau memublikasikan ke topik tersebut.
Gunakan perintah
gcloud pubsub topics create berikut untuk membuat topik bernama my-topic. Jangan mengubah
nama topik, karena dirujuk di seluruh bagian
tutorial.
gcloud pubsub topics create my-topic
Gunakan perintah gcloud pubsub subscriptions
create untuk membuat langganan. Hanya pesan yang dipublikasikan ke topik setelah langganan dibuat yang tersedia untuk aplikasi pelanggan.
gcloud pubsub subscriptions create my-sub --topic my-topic
Memublikasikan pesan
Sebelum menjalankan contoh berikut, pastikan Anda menghapus komentar dan mengisi nilai yang diperlukan yang ditandai dalam kode. Langkah ini diperlukan untuk menautkan sampel ke project dan resource Pub/Sub yang Anda buat sebelumnya.
Gunakan my-topic untuk ID topik Anda.
Python
C++
C#
Go
Java
Node.js
Node.js
PHP
Ruby
Menerima pesan
Siapkan pelanggan untuk menarik pesan yang baru saja Anda publikasikan. Setiap pelanggan harus mengonfirmasi setiap pesan dalam jangka waktu yang dapat dikonfigurasi. Pesan yang belum dikonfirmasi akan dikirim ulang. Perhatikan bahwa Pub/Sub terkadang mengirimkan pesan lebih dari sekali untuk memastikan semua pesan sampai ke pelanggan setidaknya sekali.
Sebelum menjalankan contoh berikut, pastikan Anda menghapus komentar dan mengisi nilai yang diperlukan yang ditandai dalam kode. Langkah ini diperlukan untuk menautkan sampel ke project dan resource Pub/Sub yang Anda buat sebelumnya
Gunakan my-sub untuk ID langganan Anda.
Untuk contoh lainnya yang menunjukkan cara menarik pesan, lihat Contoh kode Library Klien.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Bagaimana hasilnya?
Membersihkan (opsional)
- Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan dalam panduan ini, Anda dapat menggunakan command line
untuk menghapus topik dan langganan.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
-
Opsional: Cabut kredensial autentikasi yang Anda buat, dan hapus file kredensial lokal.
gcloud auth application-default revoke
-
Opsional: Cabut kredensial dari gcloud CLI.
gcloud auth revoke
Langkah berikutnya
Pelajari lebih lanjut konsep Pub/Sub yang dibahas di halaman ini.
Pelajari cara membangun sistem Pub/Sub one-to-many, yang membuat aplikasi penerbit yang memublikasikan ke dua aplikasi pelanggan terpisah.
Coba panduan memulai Pub/Sub lain yang menggunakan gcloud CLI atau konsol.
Pelajari lebih lanjut Pub/Sub API.
Pelajari cara menjalankan Pub/Sub menggunakan Kotlin.