Dokumen ini menjelaskan cara membuat topik Pub/Sub dengan Single Message Transforms (SMTs).
SMT topik memungkinkan modifikasi ringan pada data dan atribut pesan secara langsung dalam Pub/Sub. Fitur ini memungkinkan pembersihan, pemfilteran, atau konversi format data sebelum pesan dipublikasikan ke topik.
Untuk membuat topik dengan SMT, Anda dapat menggunakan Cloud de Confiance konsol, Google Cloud CLI, library klien, atau Pub/Sub API.
Sebelum memulai
Pelajari tentang layanan Pub/Sub dan terminologinya.
Pelajari tentang SMT.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan guna membuat topik dengan SMT,
minta administrator untuk memberi Anda peran IAM Editor Pub/Sub (roles/pubsub.editor) di project Anda.
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 topik dengan SMT. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat topik dengan SMT:
-
Berikan izin untuk membuat topik di project:
pubsub.topics.create
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Anda dapat mengonfigurasi kontrol akses di tingkat project dan di tingkat resource individual.
Membuat topik dengan SMT
Sebelum membuat topik dengan SMT, tinjau dokumentasi untuk Properti topik.
Untuk membuat Pub/Sub dengan satu atau beberapa SMT, lakukan langkah-langkah berikut. Anda dapat mengaktifkan hingga 5 SMT per topik.
Konsol
Di Cloud de Confiance konsol, buka halaman Topics Pub/Sub.
Klik Create topic.
Di kolom Topic ID, masukkan ID untuk topik Anda. Untuk mengetahui informasi selengkapnya tentang penamaan topik, lihat panduan penamaan.
Di bagian Transforms, klik Add a transform.
Pilih Transform type. Untuk mengetahui informasi selengkapnya tentang jenis SMT yang didukung, lihat Jenis SMT.
Tetapkan properti konfigurasi untuk SMT. Kumpulan properti bergantung pada jenis SMT. Untuk mengetahui informasi selengkapnya, lihat dokumentasi untuk jenis SMT tersebut.
Opsional. Untuk memvalidasi SMT, klik Validate. Jika SMT valid, pesan
"Validation passed"akan ditampilkan. Jika tidak, pesan error akan ditampilkan.Untuk menambahkan transformasi lain, klik Add a transform dan ulangi langkah-langkah sebelumnya.
Untuk mengatur SMT dalam urutan tertentu, klik Move up atau Move down. Untuk menghapus an SMT, klik Delete.
Opsional. Untuk menguji SMT pada pesan contoh, lakukan langkah-langkah berikut:
Klik Test transforms.
Di jendela Test transform, pilih fungsi yang ingin Anda uji.
Di jendela Input message, masukkan pesan contoh.
Untuk menambahkan atribut ke pesan, klik Add an attribute , lalu masukkan kunci dan nilai atribut. Anda dapat menambahkan beberapa atribut.
Klik Test. Hasil penerapan SMT pada pesan akan ditampilkan di bagian Output message.
Untuk menutup jendela Test transforms, klik Close.
Jika membuat lebih dari satu SMT, Anda dapat menguji seluruh urutan transformasi sebagai berikut:
- Uji SMT pertama dalam urutan, seperti yang dijelaskan dalam langkah-langkah sebelumnya.
- Pilih SMT berikutnya. Pesan input akan diisi otomatis dengan pesan output dari pengujian sebelumnya.
- Lanjutkan pengujian SMT secara berurutan, untuk memastikan seluruh urutan berfungsi seperti yang diharapkan.
Untuk membuat topik, klik Create.
gcloud
-
Di konsol, aktifkan Cloud Shell. Cloud de Confiance
Di bagian bawah konsol Cloud de Confiance , 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.
Buat file YAML atau JSON yang menentukan satu atau beberapa SMT. Definisi YAML atau JSON bergantung pada jenis SMT. Untuk mengetahui informasi selengkapnya, lihat Jenis SMT.
Jika file menyertakan lebih dari satu SMT, Pub/Sub akan mengeksekusinya dalam urutan yang tercantum.
Opsional. Untuk memvalidasi SMT, jalankan
gcloud pubsub message-transforms validateperintah:gcloud pubsub message-transforms validate \ --message-transform-file=TRANSFORM_FILEGanti kode berikut:
- TRANSFORM_FILE: Jalur ke file YAML atau JSON yang menentukan satu SMT. Jika membuat beberapa SMT, Anda harus memvalidasinya satu per satu.
Opsional. Untuk menguji satu atau beberapa SMT pada pesan Pub/Sub contoh, jalankan perintah
gcloud pubsub message-transforms test:gcloud pubsub message-transforms test \ --message-transforms-file=TRANSFORMS_FILE \ --message=MESSAGE \ --attribute=ATTRIBUTESGanti kode berikut:
- TRANSFORMS_FILE: Jalur ke file YAML atau JSON yang menentukan satu atau beberapa SMT.
- MESSAGE: Isi pesan contoh.
- ATTRIBUTES: Opsional. Daftar atribut pesan yang dipisahkan koma. Setiap atribut adalah pasangan nilai kunci yang diformat sebagai
KEY="VALUE".
Perintah ini mengeksekusi SMT secara berurutan, menggunakan output dari setiap SMT sebagai input ke SMT berikutnya. Perintah ini menampilkan hasil setiap langkah.
Untuk membuat topik, jalankan
gcloud pubsub topics createperintah:gcloud pubsub topics create TOPIC_ID \ --message-transforms-file=TRANSFORMS_FILEGanti kode berikut:
- TOPIC_ID: ID atau nama topik yang ingin Anda buat. Untuk mengetahui panduan tentang cara memberi nama topik, lihat Nama resource. Nama topik tidak dapat diubah.
- TRANSFORMS_FILE: Jalur ke file YAML atau JSON yang menentukan satu atau beberapa SMT.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Java API.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai: Menggunakan Library Klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Pub/Sub Python API.
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 Pub/Sub Go API.