Tutorial sederhana ini menunjukkan penulisan, deployment, dan pemicuan fungsi Cloud Run Berbasis Peristiwa dengan pemicu Pub/Sub.
Jika Anda baru menggunakan Pub/Sub dan ingin mempelajari lebih lanjut, lihat dokumentasi Pub/Sub, terutama mengelola topik dan langganan. Lihat Pemicu Pub/Sub untuk mengetahui ringkasan cara menangani topik dan langganan Pub/Sub di fungsi Cloud Run.
Jika Anda mencari contoh kode untuk menggunakan Pub/Sub sendiri, buka browser contoh.
Menyiapkan aplikasi
Clone repositori aplikasi contoh ke komputer lokal Anda:
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Atau, Anda dapat mendownload contoh dalam file ZIP dan mengekstraknya.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Atau, Anda dapat mendownload contoh dalam file ZIP dan mengekstraknya.
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Atau, Anda dapat mendownload contoh dalam file ZIP dan mengekstraknya.
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Atau, Anda dapat mendownload contoh sebagai file ZIP dan mengekstraknya.
Ruby
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git
Atau, Anda dapat mendownload contoh dalam file ZIP dan mengekstraknya.
Ubah ke direktori yang berisi kode contoh fungsi Cloud Run untuk mengakses Pub/Sub:
Node.js
cd nodejs-docs-samples/functions/helloworld/
Python
cd python-docs-samples/functions/helloworld/
Go
cd golang-samples/functions/helloworld/
Java
cd java-docs-samples/functions/helloworld/hello-pubsub/
Ruby
cd ruby-docs-samples/functions/helloworld/pubsub/
Lihat kode contoh:
Node.js
Python
Go
Java
Ruby
Men-deploy fungsi
Untuk men-deploy fungsi dengan pemicu Pub/Sub, jalankan perintah berikut di direktori yang berisi kode contoh (atau untuk Java, file pom.xml
):
Node.js
gcloud functions deploy helloPubSub \ --runtime nodejs22 \
--trigger-topic YOUR_TOPIC_NAME
Gunakan flag --runtime
untuk menentukan ID runtime dari versi Node.js yang didukung untuk menjalankan fungsi Anda.
Python
gcloud functions deploy hello_pubsub \ --runtime python312 \
--trigger-topic YOUR_TOPIC_NAME
Gunakan flag --runtime
untuk menentukan ID runtime
versi Python yang didukung untuk menjalankan
fungsi Anda.
Go
gcloud functions deploy HelloPubSub \ --runtime go121 \
--trigger-topic YOUR_TOPIC_NAME
Gunakan flag --runtime
untuk menentukan ID runtime versi Go yang didukung untuk menjalankan fungsi Anda.
Java
gcloud functions deploy java-pubsub-function \ --entry-point functions.HelloPubSub \ --runtime java17 \ --memory 512MB \
--trigger-topic YOUR_TOPIC_NAME
Gunakan flag --runtime
untuk menentukan ID runtime
versi Java yang didukung guna menjalankan
fungsi Anda.
Ruby
gcloud functions deploy hello_pubsub --runtime ruby33 \
--trigger-topic YOUR_TOPIC_NAME
Gunakan flag --runtime
untuk menentukan ID runtime
versi Ruby yang didukung untuk menjalankan
fungsi Anda.
dengan YOUR_TOPIC_NAME
adalah nama topik Pub/Sub yang akan menjadi langganan fungsi.
Jika YOUR_TOPIC_NAME
belum ada, perintah ini akan membuatnya untuk Anda. Anda juga dapat membuat topik sebelum menjalankan perintah deploy
, menggunakan
konsolGoogle Cloud atau perintah gcloud
berikut:
gcloud pubsub topics create YOUR_TOPIC_NAME
Memicu fungsi
Publikasikan pesan ke topik Pub/Sub Anda. Dalam contoh ini, pesan adalah nama yang akan disertakan oleh fungsi dalam salam:
gcloud pubsub topics publish
YOUR_TOPIC_NAME
--messageYOUR_NAME
Ganti
YOUR_TOPIC_NAME
dengan nama topik Pub/Sub Anda, danYOUR_NAME
dengan string arbitrer.Periksa log untuk memastikan eksekusi telah selesai:
gcloud functions logs read --limit 50
Anda juga dapat memublikasikan pesan ke topik Pub/Sub dari dalam fungsi.