Memublikasikan dan menerima pesan di Pub/Sub menggunakan library klien
Layanan Pub/Sub memungkinkan aplikasi bertukar pesan secara andal, cepat, dan asinkron. Berikut adalah urutan peristiwanya:
- 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 Google Cloud, Cloud Shell, library klien, atau REST API. Halaman ini menunjukkan cara mulai memublikasikan pesan dengan Pub/Sub menggunakan library klien.
Pub/Sub menawarkan library klien yang dibuat otomatis tingkat tinggi dan tingkat rendah. Secara default, seperti dalam panduan memulai ini, kami merekomendasikan library klien tingkat tinggi.
Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
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
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Node.js
npm install --save @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
Membuat topik dan langganan
Setelah membuat topik, Anda dapat berlangganan atau memublikasikan topik.
Gunakan perintah
gcloud pubsub topics
create berikut untuk membuat topik bernama my-topic
. Jangan mengubah
nama topik karena sudah dirujuk di sepanjang
tutorial.
gcloud pubsub topics create my-topic
Gunakan perintah gcloud pubsubsubscriptions 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
Untuk mengetahui informasi selengkapnya tentang penamaan topik dan langganan, lihat Nama resource.
Memublikasikan pesan
Sebelum menjalankan contoh berikut, pastikan Anda menghapus tanda komentar dan mengisi salah satu nilai yang diperlukan yang telah ditandai dalam kode. Ini diperlukan untuk menautkan contoh 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 tidak dikonfirmasi akan dikirim ulang. Perlu diperhatikan bahwa Pub/Sub terkadang mengirimkan pesan lebih dari sekali untuk memastikan bahwa semua pesan diterima oleh pelanggan setidaknya satu kali.
Sebelum menjalankan contoh berikut, pastikan Anda menghapus tanda komentar dan mengisi salah satu nilai yang diperlukan yang telah ditandai dalam kode. Ini diperlukan untuk menautkan contoh ke resource project dan Pub/Sub yang Anda buat sebelumnya
Gunakan my-sub
untuk ID langganan Anda.
Untuk contoh lain yang menunjukkan cara menarik pesan, lihat Contoh kode Library Klien.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Bagaimana hasilnya?
Pembersihan (opsional)
- Agar tidak menimbulkan biaya pada akun Google Cloud Anda 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 selanjutnya
Pelajari konsep Pub/Sub yang dibahas di halaman ini lebih lanjut.
Pelajari cara membangun sistem Pub/Sub one-to-many, yang membuat aplikasi penayang yang memublikasikan ke dua aplikasi pelanggan yang berbeda.
Coba panduan memulai Pub/Sub lain yang menggunakan gCloud CLI atau konsol.
Pelajari Pub/Sub API lebih lanjut.
Pelajari cara menjalankan Pub/Sub menggunakan Kotlin.