Dokumen ini menjelaskan cara memperbarui Transformasi Pesan Tunggal (SMT) untuk langganan Pub/Sub. Perubahan pada SMT akan diterapkan dalam beberapa menit. Untuk SMT langganan, perubahan akan diterapkan pada pesan baru yang dikirim ke langganan setelah UDF diperbarui.
Untuk memperbarui SMT langganan, 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 langganan, 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 langganan. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk memperbarui SMT langganan:
-
Beri izin perbarui langganan pada langganan:
projects.subscriptions.patch
-
Berikan izin lihat langganan pada project. Izin ini hanya diperlukan jika Anda menggunakan konsol Google Cloud :
pubsub.subscriptions.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 langganan
Untuk memperbarui SMT langganan, ikuti langkah-langkah berikut:
Konsol
-
Di konsol Google Cloud , buka halaman Subscriptions Pub/Sub.
-
Klik langganan yang SMT-nya ingin Anda edit.
-
Di halaman detail langganan, klik Edit.
Tab Transformasi mencantumkan semua SMT yang terlampir pada langganan.
-
Di halaman Edit langganan, 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 subscriptions update
:gcloud pubsub subscriptions update SUBSCRIPTION_ID \ --message-transforms-file=TRANSFORMS_FILE
Ganti kode berikut:
-
SUBSCRIPTION_ID: ID atau nama langganan 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 langganan, gunakan perintah berikut:
gcloud pubsub subscriptions update SUBSCRIPTION_ID --clear-message-transforms
Ganti SUBSCRIPTION_ID dengan ID atau nama langganan yang ingin Anda perbarui.
-