Memperbarui SMT topik

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

  1. Di konsol Google Cloud , buka halaman Topics Pub/Sub.

    Buka Topik

  2. Klik topik yang SMT-nya ingin Anda edit.

  3. Di halaman detail topik, klik Edit.

    Tab Transformasi mencantumkan semua SMT yang dilampirkan ke topik.

  4. Di halaman Edit topik, Anda dapat melakukan tugas berikut:

    1. Menambahkan SMT baru. Klik Tambahkan transformasi.

    2. Edit SMT yang ada. Luaskan SMT untuk mengedit SMT.

    3. Atur ulang SMT. Gunakan panah atas dan bawah.

    4. Menghapus SMT. Klik tombol hapus.

  5. Klik Perbarui.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. 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.

Langkah berikutnya