Pemicu Eventarc menyatakan minat Anda pada peristiwa atau rangkaian peristiwa tertentu. Anda dapat mengonfigurasi perutean peristiwa dengan menentukan filter untuk pemicu, termasuk sumber peristiwa, dan alur kerja target.
Peristiwa dikirimkan dalam format CloudEvents melalui permintaan HTTP. Layanan Workflows mengonversi peristiwa menjadi objek JSON (mengikuti spesifikasi CloudEvents) dan meneruskan peristiwa ke eksekusi alur kerja sebagai argumen runtime alur kerja. Pastikan ukuran peristiwa tidak melebihi 512 KB. Peristiwa yang lebih besar dari ukuran argumen Workflows maksimum tidak akan memicu eksekusi alur kerja.
Petunjuk ini menunjukkan cara mengonfigurasi perutean peristiwa sehingga eksekusi alur kerja Anda dipicu sebagai respons terhadap peristiwaBeyondCorp langsung. Untuk mengetahui detail selengkapnya, lihat daftar peristiwa langsung yang didukung.Bersiap untuk membuat pemicu
Sebelum membuat pemicu Eventarc untuk alur kerja target, selesaikan tugas berikut.
Konsol
Di Google Cloud konsol, pada halaman pemilih project, pilih atau buat Google Cloud project.
Aktifkan Eventarc, Eventarc Publishing, Workflows, dan Workflow Executions API.
Jika berlaku, aktifkan API yang terkait dengan peristiwa langsung. Misalnya, untuk peristiwa BeyondCorp , aktifkan APIBeyondCorp .
Jika Anda belum memilikinya, buat akun layanan yang dikelola pengguna, lalu berikan peran dan izin yang diperlukan agar Eventarc dapat mengelola peristiwa untuk alur kerja target.
Di konsol Google Cloud , buka halaman Service Accounts.
Pilih project Anda.
Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom Service account ID berdasarkan nama ini.
Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Contoh,
Service account for event trigger
.Klik Buat dan lanjutkan.
Untuk memberikan akses yang sesuai, di daftar Select a role, pilih peran Identity and Access Management (IAM) yang diperlukan untuk diberikan ke akun layanan Anda. Untuk mengetahui informasi selengkapnya, lihat Peran dan izin untuk target Workflows.
Untuk peran tambahan, klik
Tambahkan peran lain, lalu tambahkan setiap peran tambahan.Klik Lanjutkan.
Untuk menyelesaikan pembuatan akun, klik Selesai.
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.
Aktifkan Eventarc API, Eventarc Publishing API, Workflows API, dan Workflow Executions API:
gcloud services enable eventarc.googleapis.com \ eventarcpublishing.googleapis.com \ workflows.googleapis.com \ workflowexecutions.googleapis.com
Jika berlaku, aktifkan API yang terkait dengan peristiwa langsung. Misalnya, untuk BeyondCorp acara, aktifkan
beyondcorp.googleapis.com
.Jika Anda belum memilikinya, buat akun layanan yang dikelola pengguna, lalu berikan peran dan izin yang diperlukan agar Eventarc dapat mengelola peristiwa untuk alur kerja target.
Buat akun layanan:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Ganti
SERVICE_ACCOUNT_NAME
dengan nama akun layanan. Panjangnya harus antara 6 dan 30 karakter, serta dapat berisi karakter alfanumerik huruf kecil dan tanda pisah. Setelah membuat akun layanan, Anda tidak dapat mengubah namanya.Berikan peran atau izin Identity and Access Management (IAM) yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Peran dan izin untuk target Workflows.
Buat pemicu
Anda dapat membuat pemicu Eventarc dengan alur kerja yang di-deploy sebagai penerima peristiwa menggunakan Google Cloud CLI (gcloud
atau Terraform), atau melalui konsol Google Cloud .
Konsol
- Di konsol Google Cloud , buka halaman Pemicu Eventarc.
- Klik Create trigger.
- Ketik Trigger name.
Ini adalah ID pemicu dan harus dimulai dengan huruf. Nama ini dapat berisi hingga 63 huruf kecil, angka, atau tanda hubung.
- Untuk Jenis pemicu, pilih Sumber Google.
- Dalam daftar Penyedia peristiwa, pilih
BeyondCorp.
Perhatikan bahwa nama penyedia peristiwa yang digunakan dalam Google Cloud dokumentasi terkait mungkin tidak memiliki awalan Cloud atau Google Cloud. Misalnya, di konsol, Memorystore for Redis disebut sebagai Google Cloud Memorystore for Redis.
- Di daftar Jenis peristiwa, dari peristiwa Langsung, pilih jenis peristiwa.
- Untuk menentukan encoding payload peristiwa, di daftar Jenis konten data peristiwa, pilih application/json atau application/protobuf.
Perhatikan bahwa payload peristiwa yang diformat dalam JSON lebih besar daripada yang diformat dalam Protobuf. Hal ini dapat memengaruhi keandalan, bergantung pada tujuan peristiwa dan batas ukuran peristiwa. Untuk mengetahui informasi selengkapnya, lihat Masalah umum.
- Dalam daftar Region, pilih region yang sama dengan
layananGoogle Cloud yang menghasilkan peristiwa.
Untuk mengetahui informasi selengkapnya, lihat Lokasi Eventarc.
- Jika berlaku untuk penyedia acara, klik Tambahkan filter
dan tentukan hal berikut:
- Di kolom Atribut 1, bergantung pada peristiwa langsung yang Anda pilih, pilih ID resource yang dapat berfungsi sebagai filter peristiwa.
- Pilih operator:
- Sama dengan
- Pola jalur
Untuk mengetahui informasi selengkapnya, lihat Memahami pola jalur.
- Di kolom Nilai atribut 1, bergantung pada operator yang Anda pilih, ketik nilai persisnya atau terapkan pola jalur.
- Jika ada filter atribut lainnya yang berlaku, klik Tambahkan filter, lalu tentukan nilai yang sesuai.
- Pilih Service account yang akan memanggil layanan
atau alur kerja Anda.
Atau, Anda dapat membuat akun layanan baru.
Ini menentukan email akun layanan Identity and Access Management (IAM) yang terkait dengan pemicu dan yang sebelumnya Anda beri peran tertentu yang diperlukan oleh Eventarc.
- Dalam daftar Tujuan peristiwa, pilih Workflows.
- Pilih alur kerja.
Ini adalah nama alur kerja untuk meneruskan peristiwa. Peristiwa untuk eksekusi alur kerja diubah dan diteruskan ke alur kerja sebagai argumen runtime.
Untuk mengetahui informasi selengkapnya, lihat Membuat pemicu untuk Workflows.
- Secara opsional, untuk menambahkan label, Anda dapat mengklik Apa yang dimaksud dengan label? Tambahkan label. Label adalah pasangan nilai kunci yang membantu Anda mengaturGoogle Cloud resource. Untuk mengetahui informasi selengkapnya, lihat
- Klik Buat.
Setelah pemicu dibuat, filter sumber peristiwa tidak dapat diubah. Sebagai gantinya, buat pemicu baru dan hapus pemicu lama. Untuk mengetahui informasi selengkapnya, lihat Mengelola pemicu.
gcloud
Anda dapat membuat pemicu dengan menjalankan perintah gcloud eventarc triggers create
bersama dengan flag wajib dan opsional.
gcloud eventarc triggers create TRIGGER \ --location=LOCATION \ --destination-workflow=DESTINATION_WORKFLOW \ --destination-workflow-location=DESTINATION_WORKFLOW_LOCATION \ --event-filters="type=EVENT_FILTER_TYPE" \ --event-filters="COLLECTION_ID=RESOURCE_ID" \ --event-filters-path-pattern="COLLECTION_ID=PATH_PATTERN" \ --event-data-content-type="EVENT_DATA_CONTENT_TYPE" \ --service-account="SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"
Ganti kode berikut:
TRIGGER
: ID pemicu atau ID yang memenuhi syarat sepenuhnya.LOCATION
: lokasi pemicu Eventarc. Atau, Anda dapat menetapkan propertieventarc/location
; misalnya,gcloud config set eventarc/location us-central1
.Untuk menghindari masalah performa dan residensi data, lokasi harus cocok dengan lokasi layanan Google Cloud yang menghasilkan peristiwa. Untuk mengetahui informasi selengkapnya, lihat Lokasi Eventarc.
-
DESTINATION_WORKFLOW
: ID alur kerja yang di-deploy yang menerima peristiwa dari pemicu. Alur kerja dapat berada di salah satu lokasi yang didukung Workflows dan tidak perlu berada di lokasi yang sama dengan pemicu. Namun, alur kerja harus berada dalam project yang sama dengan pemicu. -
DESTINATION_WORKFLOW_LOCATION
(opsional): lokasi tempat alur kerja tujuan di-deploy. Jika tidak ditentukan, diasumsikan bahwa alur kerja berada di lokasi yang sama dengan pemicu. EVENT_FILTER_TYPE
: ID peristiwa. Peristiwa dibuat saat panggilan API untuk metode berhasil. Untuk operasi yang berjalan lama, peristiwa hanya dibuat di akhir operasi, dan hanya jika tindakan berhasil dilakukan. Untuk mengetahui daftar jenis peristiwa yang didukung, lihat Jenis peristiwa Google yang didukung oleh Eventarc.
COLLECTION_ID
(opsional): komponen resource yang dapat bertindak sebagai filter peristiwa, dan merupakan salah satu dari berikut ini:appconnection
appconnector
appgateway
clientconnectorservice
clientgateway
-
RESOURCE_ID
: ID resource yang digunakan sebagai nilai pemfilteran untuk kumpulan terkait. Untuk informasi selengkapnya, lihat ID Resource. -
PATH_PATTERN
: pola jalur yang akan diterapkan saat memfilter resource -
EVENT_DATA_CONTENT_TYPE
: (opsional) encoding payload peristiwa. Nilainya dapat berupaapplication/json
atauapplication/protobuf
. Encoding default-nya adalahapplication/json
.Perhatikan bahwa payload peristiwa yang diformat dalam JSON lebih besar daripada yang diformat dalam Protobuf. Hal ini dapat memengaruhi keandalan, bergantung pada tujuan peristiwa dan batas ukuran peristiwa. Untuk mengetahui informasi selengkapnya, lihat Masalah umum.
-
SERVICE_ACCOUNT_NAME
: nama akun layanan IAM yang Anda buat dan diberi peran tertentu yang diperlukan oleh Workflows. -
PROJECT_ID
: Google Cloud project ID Anda
Catatan:
- Flag
--event-filters="type=EVENT_FILTER_TYPE"
wajib diisi. Jika tidak ada filter peristiwa lain yang ditetapkan, peristiwa untuk semua resource akan dicocokkan. EVENT_FILTER_TYPE
tidak dapat diubah setelah dibuat. Untuk mengubahEVENT_FILTER_TYPE
, buat pemicu baru dan hapus pemicu lama.- Setiap pemicu dapat memiliki beberapa filter peristiwa, yang dipisahkan dengan koma dalam satu
--event-filters
=[ATTRIBUTE
=VALUE
,...] flag, atau Anda dapat mengulangi flag untuk menambahkan lebih banyak filter. Hanya peristiwa yang cocok dengan semua filter yang dikirim ke tujuan. Karakter pengganti dan ekspresi reguler tidak didukung. Namun, saat menggunakan flag--event-filters-path-pattern
, Anda dapat menentukan pola jalur resource. - Flag
--service-account
digunakan untuk menentukan email akun layanan Identity and Access Management (IAM) yang terkait dengan pemicu.
Contoh:
gcloud eventarc triggers create helloworld-trigger \ --location=us-central1 \ --destination-workflow=my-workflow \ --destination-workflow-location=us-central1 \ --event-filters="type=google.cloud.beyondcorp.appconnectors.appConnector.v1.updated" \ --event-filters-path-pattern="appconnector=my-appconnector-*" \ --service-account="${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"
Perintah ini membuat pemicu bernama helloworld-trigger
untuk
peristiwa yang diidentifikasi sebagai google.cloud.beyondcorp.appconnectors.appConnector.v1.updated
dan
mencocokkan peristiwa untuk ID appconnector
yang dimulai dengan my-appconnector-
.
Terraform
Anda dapat membuat pemicu untuk alur kerja menggunakan Terraform. Untuk mengetahui detailnya, lihat Memicu alur kerja menggunakan Eventarc dan Terraform.
Mencantumkan pemicu
Anda dapat mengonfirmasi pembuatan pemicu dengan mencantumkan pemicu Eventarc menggunakan Google Cloud CLI atau melalui konsol Google Cloud .
Konsol
Di konsol Google Cloud , buka halaman Pemicu Eventarc.
Halaman ini mencantumkan pemicu Anda di semua lokasi, dan menyertakan detail seperti nama, wilayah, penyedia peristiwa, tujuan, dan lainnya.
Untuk memfilter pemicu stres Anda:
- Klik Filter atau kolom Pemicu filter.
- Di daftar Properti, pilih opsi untuk memfilter pemicu.
Anda dapat memilih satu properti atau menggunakan operator logika
OR
untuk menambahkan lebih banyak properti.Untuk mengurutkan pemicu, di samping judul kolom yang didukung, klik
Urutkan.
gcloud
Jalankan perintah berikut untuk mencantumkan pemicu Anda:
gcloud eventarc triggers list --location=-
Perintah ini mencantumkan pemicu Anda di semua lokasi, dan menyertakan detail seperti nama, jenis, tujuan, dan status.