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 memulai publikasi pesan dengan Pub/Sub menggunakan library klien.
Pub/Sub menawarkan library klien tingkat tinggi dan tingkat rendah yang dihasilkan secara otomatis. 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
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
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
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
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 informasi selengkapnya tentang cara menginstal library C++,
lihat README
GitHub.
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 ke topik tersebut.
Gunakan perintah gcloud pubsub topics create berikut untuk membuat topik bernama my-topic
. Jangan ubah
nama topik, karena topik tersebut dirujuk di seluruh
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
Untuk informasi selengkapnya tentang cara memberi nama topik dan langganan, lihat Nama resource.
Memublikasikan pesan
Sebelum menjalankan contoh berikut, pastikan Anda menghapus komentar dan mengisi nilai yang diperlukan yang ditandai dalam kode. Tindakan ini diperlukan untuk menautkan sampel ke project dan resource Pub/Sub yang Anda buat sebelumnya.
Gunakan my-topic
untuk topic ID Anda.
Python
C++
C#
Go
Java
Node.js
Node.js
PHP
Ruby
Menerima pesan
Siapkan subscriber untuk mengambil 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. Perhatikan bahwa Pub/Sub terkadang mengirim pesan lebih dari sekali untuk memastikan bahwa semua pesan sampai ke pelanggan setidaknya satu kali.
Sebelum menjalankan contoh berikut, pastikan Anda menghapus komentar dan mengisi nilai yang diperlukan yang ditandai dalam kode. Tindakan 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 mengambil pesan, lihat Contoh kode Library Klien.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Bagaimana hasilnya?
Membersihkan (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
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
Langkah selanjutnya
Pelajari lebih lanjut konsep Pub/Sub yang discussed di halaman ini.
Pelajari cara mem-build sistem Pub/Sub one-to-many, yang membuat aplikasi penayang yang memublikasikan ke dua aplikasi pelanggan terpisah.
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.