Dokumen ini menjelaskan cara memperbarui Transformasi Pesan Tunggal (SMT) untuk topik Pub/Sub. Perubahan pada SMT akan diterapkan dalam beberapa menit. Untuk SMT topik, perubahan berlaku untuk pesan baru yang dipublikasikan setelah SMT diperbarui.
Untuk memperbarui SMT topik, Anda dapat menggunakan Google Cloud konsol, Google Cloud CLI, library klien, atau Pub/Sub API.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang diperlukan guna memperbarui SMT topik, minta administrator Anda untuk memberi Anda peran IAM Pub/Sub Editor (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 memperbarui SMT topik. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memperbarui SMT topik:
-
Memberikan izin pembaruan topik pada topik:
projects.topics.patch
-
Berikan izin lihat topik pada project. Izin ini hanya diperlukan jika Anda menggunakan konsol Google Cloud :
pubsub.topics.view
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.
Memperbarui SMT topik
Untuk memperbarui SMT topik, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Topics Pub/Sub.
-
Klik topik yang SMT-nya ingin Anda edit.
Di halaman detail topik, klik Edit.
Tab Transformasi mencantumkan semua SMT yang dilampirkan ke topik.
-
Di halaman Edit topik, Anda dapat melakukan tugas berikut:
-
Menambahkan SMT baru. Klik Tambahkan transformasi.
-
Edit SMT yang ada. Luaskan SMT untuk mengedit SMT.
-
Atur ulang SMT. Gunakan panah atas dan bawah.
-
Menghapus SMT. Klik tombol hapus.
-
-
Klik Perbarui.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Jalankan perintah
gcloud pubsub topics update
:gcloud pubsub topics update TOPIC_ID \ --message-transforms-file=TRANSFORMS_FILE
Ganti kode berikut:
-
TOPIC_ID: ID atau nama topik yang ingin Anda perbarui.
-
TRANSFORMS_FILE: Jalur ke file YAML atau JSON yang berisi SMT yang diperbarui.
Berikut adalah contoh file transformasi YAML:
- javascriptUdf: code: > function redactSSN(message, metadata) { const data = JSON.parse(message.data); delete data['ssn']; message.data = JSON.stringify(data); return message; } functionName: redactSSN - javascriptUdf: code: > function filterHighAmount(message, metadata) { const data = JSON.parse(message.data); if (data['amount'] > 100 ) { return null; } return message; } functionName: filterHighAmount
Untuk menghapus semua SMT dari topik, gunakan perintah berikut:
gcloud pubsub topics update TOPIC_ID --clear-message-transforms
Ganti TOPIC_ID dengan ID atau nama topik yang ingin Anda perbarui.
-