Pemicu Cloud Pub/Sub

Dengan pemicu Cloud Pub/Sub, Anda dapat menjalankan integrasi berdasarkan peristiwa di middleware Pub/Sub.

Dengan pemicu ini, Anda dapat menjalankan integrasi setiap kali penayang menulis pesan ke topik yang Anda pilih. Topik dapat ada di project Google Cloud yang sama dengan integrasi, atau di project Google Cloud yang berbeda. Saat dipicu, pemicu ini juga menulis pesan yang dipublikasikan ke variabel output CloudPubSubMessage. Berdasarkan persyaratan Anda, Anda dapat menggunakan variabel ini di pemicu atau tugas downstream.

Untuk mempelajari cara membuat contoh integrasi menggunakan Application Integration dan pemicu Cloud Pub/Sub, lihat Mendengarkan topik Cloud Pub/Sub dan mengirim email.

Dengan pemicu ini, Anda dapat menjalankan integrasi setiap kali penayang menulis pesan ke topik yang Anda pilih. Saat dieksekusi, pemicu ini juga menulis pesan yang dipublikasikan ke variabel output CloudPubSubMessage. Berdasarkan persyaratan Anda, Anda dapat menggunakan variabel ini di pemicu atau tugas downstream.

Sebelum memulai

Pastikan Anda melakukan tugas berikut di Google Cloud project sebelum mengonfigurasi pemicu Cloud Pub/Sub.

  • Tetapkan Admin IAM Project (roles/resourcemanager.projectIamAdmin) kepada pengguna yang membuat pemicu ini.
  • Aktifkan Pub/Sub API untuk Google Cloud project yang memiliki integrasi Anda.
  • Jika Pub/Sub API dilindungi oleh perimeter layanan, pastikan Anda menentukan peran IAM berikut untuk mengelola perimeter layanan ini:

    • Admin Access Context Manager (roles/accesscontextmanager.policyAdmin)
    • Editor Access Context Manager (roles/accesscontextmanager.policyEditor)
    • Reader Access Context Manager (roles/accesscontextmanager.policyReader)

  • Pastikan Anda memiliki topik Pub/Sub. Untuk membuat topik Pub/Sub baru:
    1. Buka halaman topik Pub/Sub di Konsol Cloud.

      Buka halaman topik Pub/Sub

    2. Klik Buat topik.
    3. Di kolom Topic ID, berikan nama topik yang unik.
    4. Klik Simpan.
Untuk mengetahui informasi selengkapnya tentang cara mengelola akses menggunakan peran IAM, lihat Kontrol akses.

Untuk mengetahui informasi tentang cara memberikan peran kepada akun utama, lihat Memberikan, mengubah, dan mencabut akses.

Menambahkan pemicu Cloud Pub/Sub

Untuk menambahkan pemicu Cloud Pub/Sub ke integrasi baru atau yang sudah ada, ikuti langkah-langkah di bawah:
  1. Di konsol Google Cloud , buka halaman Application Integration.

    Buka Application Integration

  2. Di menu navigasi, klik Integrations.

    Halaman Integrations List akan muncul dan mencantumkan semua integrasi yang tersedia di project Google Cloud.

  3. Pilih integrasi yang ada atau klik Buat integrasi untuk membuat integrasi baru.

    Jika Anda membuat integrasi baru:

    1. Masukkan nama dan deskripsi di panel Buat Integrasi.
    2. Pilih region untuk integrasi.
    3. Pilih akun layanan untuk integrasi. Anda dapat mengubah atau memperbarui detail akun layanan integrasi kapan saja dari panel Ringkasan integrasi di toolbar integrasi.
    4. Klik Buat.

    Integrasi yang baru dibuat akan terbuka di editor integrasi.

  4. Di menu navigasi editor integrasi, klik Pemicu untuk melihat daftar pemicu yang tersedia.
  5. Klik dan tempatkan elemen pemicu Cloud Pub/Sub ke desainer.

Mengonfigurasi pemicu Cloud Pub/Sub

Klik elemen pemicu Cloud Pub/Sub di editor integrasi untuk melihat panel konfigurasi pemicu, lalu lakukan tugas berikut:

  1. Tentukan topik yang harus didengarkan oleh pemicu di kolom Pub/Sub topic dalam format berikut:
    projects/PROJECT_ID/topics/TOPIC_ID

    Untuk melihat semua topik yang tersedia di project Google Cloud , lihat kolom Nama topik di Topik. Anda juga dapat memilih topik dari project Google Cloud lain.

    Ganti kode berikut:
    • PROJECT_ID: Google Cloud project tempat topik Anda dibuat.
    • TOPIC_ID: ID topik Pub/Sub Anda. Topik dapat berada di project Google Cloud yang sama dengan project integrasi Anda, atau dapat berada di project Google Cloud yang berbeda.
  2. Pilih akun layanan yang ingin Anda gunakan untuk memanggil integrasi. Anda juga dapat memilih variabel konfigurasi yang telah Anda buat dalam integrasi. Nilai variabel config harus berupa alamat email akun layanan dengan format berikut: SERVICE_ACCOUNT_NAME@project-id.iam.gserviceaccount.com. Misalnya, application-integration-invoke@project123.iam.gserviceaccount.com.

    Untuk mengetahui informasi tentang cara membuat variabel konfigurasi, lihat Membuat variabel, dan tentang cara membuat akun layanan, lihat Membuat akun layanan.

    Jika Anda memilih variabel konfigurasi, Anda harus memberikan peran yang diperlukan ke akun layanan yang dirujuk oleh variabel konfigurasi. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Peran IAM yang diperlukan.

    Jika tidak ada akun layanan, buat akun layanan dengan mengklik Buat baru dalam daftar Akun layanan.

Secara default, opsi periode habis masa berlaku untuk langganan disetel ke never expire. Jika Anda ingin menyetel masa berlaku ke nilai lain, di konsol Google Cloud , buka halaman langganan Pub/Sub dan edit langganan.

Peran IAM yang diperlukan untuk akun layanan

Mengklik Berikan saat memilih akun layanan, akan otomatis memberikan peran berikut ke berbagai akun layanan.

Akun layanan Peran IAM diberikan
Akun layanan default Application Integration: service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com
  • Pub/Sub Editor (roles/pubsub.editor)
  • (roles/iam.serviceAccountUser) Pengguna Akun Layanan

Jika project Google Cloud topik Pub/Sub berbeda dengan project Google Cloud integrasi, akun layanan default memerlukan peran Pub/Sub Editor di project Google Cloud topik.

Akun layanan yang Anda pilih untuk pemicu ini Pemanggil Integrasi Aplikasi (roles/integrations.integrationInvoker)

Output Pemicu

Untuk setiap peristiwa, pemicu Cloud Pub/Sub menghasilkan variabel output CloudPubSubMessage yang dapat Anda gunakan dalam tugas hilir. Variabel ini dalam format JSON dan memiliki struktur PubsubMessage.

Membuat langganan dengan filter untuk integrasi Anda

Jika Anda ingin menyetel filter untuk langganan Pub/Sub guna memproses peristiwa tertentu dalam integrasi, ikuti langkah-langkah berikut:

  1. Publikasikan integrasi dengan pemicu Cloud Pub/Sub yang dikonfigurasi. Langkah ini akan membuat langganan di project integrasi.
  2. Di konsol Google Cloud , buka halaman Subscriptions.

    Buka Langganan

  3. Buka langganan dan salin semua detailnya, termasuk nama langganan.
  4. Hapus langganan yang ada.
  5. Buat langganan baru dengan semua detail langganan yang dihapus–termasuk nama langganan–yang Anda salin di langkah 3 dan juga tambahkan filter di langganan baru.

    Langganan yang baru dibuat memicu integrasi dengan pesan yang difilter.

Pengecualian SLA

Pemicu Cloud Pub/Sub bergantung pada produk Pub/Sub. Karena dependensi ini bersifat eksternal terhadap Integrasi Aplikasi, persyaratan dan ketentuan Perjanjian Tingkat Layanan (SLA) Integrasi Aplikasi hanya berlaku jika pemicu Cloud Pub/Sub berhasil memulai eksekusi integrasi active.

Menggunakan pemicu Pub/Sub dengan Kontrol Layanan VPC

Saat Anda mengonfigurasi pemicu Pub/Sub di Integrasi Aplikasi dan mencoba memublikasikan integrasi, pembuatan langganan Pub/Sub yang diperlukan akan gagal jika Pub/Sub API dilindungi oleh perimeter layanan di Kontrol Layanan VPC.

Perimeter layanan menerapkan batas keamanan di sekitar resource Google Cloud Anda, dan kebijakan ini dapat mencegah Integrasi Aplikasi membuat langganan Pub/Sub yang diperlukan selama publikasi integrasi.

Untuk berhasil mengonfigurasi dan memublikasikan pemicu Pub/Sub dalam skenario ini, lakukan langkah-langkah berikut:

  1. Menghapus Pub/Sub API dari perimeter layanan untuk sementara:
    1. Di konsol Google Cloud , buka halaman VPC Service Controls.

      Buka Kontrol Layanan VPC

    2. Pilih Google Cloud project yang berisi topik Pub/Sub yang akan digunakan dalam integrasi.
    3. (Opsional) Jika tidak ada kebijakan akses yang dikonfigurasi untuk project yang dipilih, pesan No VPC Service Perimeters found in current scope akan muncul. Dalam hal ini, klik Beralih ke cakupan organisasi untuk membuka tingkat organisasi.
    4. Di halaman VPC Service Controls, pada tabel yang ada, klik nama perimeter layanan yang ingin Anda ubah.
    5. Di halaman Service perimeter details, klik Edit.
    6. Di panel Restricted services, filter dan pilih layanan pubsub.googleapis.com.
    7. Klik Hapus yang Dipilih.
    8. Klik Simpan. Dalam dialog konfirmasi, klik Konfirmasi untuk menghapus Pub/Sub API dari perimeter layanan Kontrol Layanan VPC Anda.
  2. Tambahkan dan konfigurasi pemicu Pub/Sub dalam integrasi Anda.
  3. Publikasikan integrasi.
  4. Tambahkan kembali Pub/Sub API ke perimeter layanan:
    1. Buka halaman VPC Service Controls.

      Buka Kontrol Layanan VPC

    2. Di halaman VPC Service Controls, pada tabel yang ada, klik perimeter layanan yang sama yang Anda ubah sebelumnya.
    3. Di halaman Service perimeter details, klik Edit.
    4. Di panel Restricted services, klik Add services.
    5. Filter dan pilih layanan pubsub.googleapis.com.
    6. Klik Add selected services.
    7. Klik Simpan. Dalam dialog konfirmasi, klik Konfirmasi untuk menambahkan kembali Pub/Sub API ke perimeter layanan VPC Service Controls Anda.

Harga

Pemicu Cloud Pub/Sub dan pemicu Salesforce tidak mengharuskan Anda membuat konektor. Namun, jika Anda menggunakan tugas Konektor untuk terhubung ke Pub/Sub atau Salesforce, Anda akan ditagih untuk penggunaan konektor. Untuk mengetahui informasi tentang harga, lihat Harga Application Integration.

Pertimbangan

  • Ukuran maksimum pesan Pub/Sub adalah 10 MB. Untuk memahami semua batasan Pub/Sub, lihat kuota dan batas Pub/Sub.
  • Ada kemungkinan Pub/Sub menulis pesan yang sama lebih dari sekali ke topik. Untuk memahami perilaku Pub/Sub ini, lihat Pengiriman Minimal Sekali. Oleh karena itu, Anda harus mendesain integrasi agar bersifat idempoten sehingga tidak memungkinkan pesan ditulis lebih dari sekali ke topik.

    Kolom message_id di header pesan secara unik mengidentifikasi pesan Pub/Sub.

  • Pemicu Cloud Pub/Sub tidak mendukung pengurutan pesan. Pengurutan pesan Pub/Sub dinonaktifkan untuk langganan yang dibuat oleh pemicu Cloud Pub/Sub, dan tidak dapat diaktifkan.
  • Jika Anda membatalkan publikasi integrasi, langganan Pub/Sub tidak akan dihapus untuk mencegah hilangnya pesan. Namun, jika Anda menghapus versi yang dipublikasikan atau semua versi integrasi dari integrasi, langganan Pub/Sub juga akan dihapus.

Kuota dan batas

Untuk mengetahui informasi tentang kuota dan batas, lihat Kuota dan batas.

Langkah berikutnya