Memperbarui SMT langganan

Dokumen ini menjelaskan cara memperbarui Single Message Transform (SMT) untuk langganan Pub/Sub. Perubahan pada SMT akan diterapkan dalam beberapa menit. Untuk SMT langganan, perubahan akan diterapkan untuk 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 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 memperbarui SMT langganan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memperbarui SMT langganan:

  • Berikan izin untuk memperbarui langganan pada langganan: projects.subscriptions.patch
  • Berikan izin untuk melihat langganan di project. Izin ini hanya diperlukan jika Anda menggunakan Google Cloud konsol: 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

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

    Buka Langganan

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

  3. Di halaman detail langganan, klik Edit.

    Tab Transforms mencantumkan semua SMT yang terlampir ke langganan.

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

    1. Menambahkan SMT baru. Klik Add a transform.

    2. Mengedit SMT yang ada. Luaskan SMT mana pun untuk mengedit SMT.

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

    4. Menghapus SMT. Klik tombol hapus.

  5. Klik Update.

gcloud

  1. Di konsol, aktifkan Cloud Shell. Google Cloud

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , 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.

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

Langkah berikutnya