Anda dapat mengelola pemicu menggunakan konsol Google Cloud atau Google Cloud CLI di terminal atau Cloud Shell. Anda juga dapat mengelola pemicu melalui Eventarc API.
Mencantumkan pemicu
Anda dapat mencantumkan, memfilter, dan mengurutkan pemicu di semua lokasi.
Di konsol Google Cloud, buka halaman Pemicu Eventarc.
Halaman ini mencantumkan semua pemicu di project Anda untuk semua lokasi, dan menyertakan detail seperti nama pemicu, region, penyedia peristiwa, tujuan, dan jenis peristiwa.
Untuk memfilter pemicu menurut properti tertentu:
- Klik kotak Filter .
- Dari daftar Properti, pilih opsi untuk memfilter pemicu berdasarkan—misalnya, Nama atau Saluran peristiwa.
Anda dapat memilih satu properti atau menggunakan operator logika
OR
untuk menambahkan lebih banyak properti yang akan digunakan sebagai filter.Untuk mengurutkan pemicu, klik
Urutkan di samping judul kolom yang sesuai.Hanya beberapa kolom yang dapat diurutkan—misalnya, Nama, Wilayah, atau Saluran peristiwa.
gcloud eventarc triggers list --location=-
Perintah ini mencantumkan nama, jenis, tujuan, dan status pemicu di semua lokasi.
Untuk mencantumkan pemicu di project dan lokasi tertentu, gunakan metode
projects.locations.triggers.list
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: project ID Google Cloud Anda.PROJECT_ID
: Region tempat pemicu dibuat—misalnya,LOCATION us-central1
.
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers"
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers" | Select-Object -Expand Content
Jika berhasil, isi respons akan berisi instance
Trigger
dan responsnya akan mirip dengan berikut ini:
{ "triggers": [ { "name": "projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME ", "uid": "d700773a-698b-47b2-a712-2ee10b690062", "createTime": "2022-12-06T22:44:04.744001514Z", "updateTime": "2022-12-06T22:44:09.116459550Z", "eventFilters": [ { "attribute": "type", "value": "google.cloud.pubsub.topic.v1.messagePublished" } ], "serviceAccount": "SERVICE_ACCOUNT_NAME @PROJECT_ID .iam.gserviceaccount.com", "destination": { "workflow": "projects/PROJECT_ID /locations/LOCATION /workflows/WORKFLOW_NAME " }, "transport": { "pubsub": { "topic": "projects/PROJECT_ID /topics/TOPIC_ID ", "subscription": "projects/PROJECT_ID /subscriptions/SUBSCRIPTION_ID " } } }, { object (Trigger) } ], "nextPageToken": string, "unreachable": [ string ] }
Menjelaskan pemicu
Anda dapat mendeskripsikan pemicu di lokasi tertentu.
Di konsol Google Cloud, buka halaman Pemicu Eventarc.
Dari daftar pemicu, klik pemicu yang detailnya ingin Anda ketahui.
Halaman Detail pemicu menampilkan detail pemicu seperti nama, wilayah, penyedia peristiwa, jenis peristiwa, jenis konten data peristiwa, dan tujuan.
gcloud eventarc triggers describeTRIGGER \ --location=LOCATION
Ganti kode berikut:
TRIGGER
: ID pemicu atau ID yang memenuhi syarat sepenuhnya.LOCATION
: lokasi pemicu Eventarc.
Perintah ini menampilkan informasi tentang pemicu yang mirip dengan berikut:
createTime: '2023-03-16T13:40:44.889670204Z'
destination:
cloudRun:
path: /
region: us-central1
service: hello
eventDataContentType: application/protobuf
eventFilters:
- attribute: serviceName
value: cloudscheduler.googleapis.com
- attribute: methodName
value: google.cloud.scheduler.v1.CloudScheduler.DeleteJob
- attribute: type
value: google.cloud.audit.log.v1.written
name: projects/project-name/locations/us-central1/triggers/name-of-trigger
serviceAccount: project-number-compute@developer.gserviceaccount.com
transport:
pubsub:
subscription: projects/project-name/subscriptions/eventarc-us-central1-name-of-trigger-sub-034
topic: projects/project-name/topics/eventarc-us-central1-name-of-trigger-931
Untuk mendeskripsikan pemicu di project dan lokasi tertentu, gunakan metode
projects.locations.triggers.get
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: nama pemicu yang ingin Anda jelaskan.TRIGGER_NAME
: project ID Google Cloud Anda.PROJECT_ID
: Region tempat pemicu dibuat—misalnya,LOCATION us-central1
.
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME "
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME " | Select-Object -Expand Content
Jika berhasil, isi respons berisi instance
Trigger
yang mirip dengan berikut:
{ "name": "projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME ", "uid": "d700773a-698b-47b2-a712-2ee10b690062", "createTime": "2022-12-06T22:44:04.744001514Z", "updateTime": "2022-12-06T22:44:09.116459550Z", "eventFilters": [ { "attribute": "type", "value": "google.cloud.pubsub.topic.v1.messagePublished" } ], "serviceAccount": "SERVICE_ACCOUNT_NAME @PROJECT_ID .iam.gserviceaccount.com", "destination": { "workflow": "projects/PROJECT_ID /locations/LOCATION /workflows/WORKFLOW_NAME " }, "transport": { "pubsub": { "topic": "projects/PROJECT_ID /topics/TOPIC_ID ", "subscription": "projects/PROJECT_ID /subscriptions/SUBSCRIPTION_ID " } } }
Jika kondisi pemicu menunjukkan masalah pada topik Pub/Sub, lihat Pemicu tidak mengirimkan peristiwa.
Memperbarui pemicu
Anda dapat memperbarui pemicu untuk tujuan Cloud Run, Google Kubernetes Engine (GKE), dan Alur Kerja. Bergantung pada tujuan, kolom tertentu dapat diperbarui.
Di konsol Google Cloud, buka halaman Pemicu Eventarc.
Dari daftar pemicu, klik pemicu yang detailnya ingin Anda ketahui.
Di halaman Detail pemicu, klik
Edit.Edit kolom sesuai kebutuhan, lalu klik Simpan.
Perhatikan bahwa Anda tidak dapat memperbarui kolom yang tidak tersedia seperti Penyedia peristiwa dan Tujuan peristiwa. Untuk informasi selengkapnya tentang kolom, lihat petunjuk Konsol untuk penyedia, jenis peristiwa, dan tujuan tertentu.
gcloud eventarc triggers updateTRIGGER \ --location=LOCATION \ --event-filters=NEW_EVENT_FILTERS \ --service-account=NEW_SERVICE_ACCOUNT \ --destination-run-region=NEW_REGION \ --destination-run-service=NEW_SERVICE \ --destination-run-path=NEW_PATH \ --event-data-content-type="NEW_EVENT_DATA_TYPE "
Ganti kode berikut:
TRIGGER
: ID pemicu atau ID yang memenuhi syarat sepenuhnya.LOCATION
: lokasi pemicu Eventarc.
Anda dapat memperbarui salah satu dari hal berikut:
NEW_EVENT_FILTERS
: filter yang digunakan untuk mengonfigurasi pemilihan rute peristiwa pemicu; misalnya,methodName=storage.objects.create
dapat diperbarui menjadimethodName=storage.objects.delete
. Perhatikan bahwa setelah pemicu dibuat, filter peristiwatype
tidak dapat diubah. Untuk jenis peristiwa yang berbeda, Anda harus membuat pemicu baru.NEW_SERVICE_ACCOUNT
: email akun layanan Identity and Access Management (IAM) yang terkait dengan pemicu.NEW_REGION
: region tempat layanan Cloud Run tujuan dapat ditemukan.NEW_SERVICE
: nama layanan Cloud Run yang menerima peristiwa untuk pemicu.NEW_PATH
: jalur relatif di layanan Cloud Run tujuan yang akan menerima peristiwa untuk pemicu.NEW_EVENT_DATA_TYPE
: encoding payload peristiwa; bergantung pada penyedia peristiwa, ini dapat berupaapplication/json
atauapplication/protobuf
.
Misalnya, untuk memperbarui akun layanan untuk pemicu:
gcloud eventarc triggers update my-cloud-run-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Perintah ini memperbarui akun layanan pemicu bernama
my-cloud-run-trigger
menjadi
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
Perhatikan bahwa bagian ini juga berlaku untuk endpoint publik layanan pribadi dan publik yang berjalan di cluster GKE.
gcloud eventarc triggers updateTRIGGER \ --location=LOCATION \ --destination-gke-namespace=NEW_NAMESPACE \ --destination-gke-service=NEW_SERVICE \ --destination-gke-path=NEW_PATH \ --event-data-content-type="NEW_EVENT_DATA_TYPE "
Ganti kode berikut:
TRIGGER
: ID pemicu atau ID yang memenuhi syarat sepenuhnya.LOCATION
: lokasi pemicu Eventarc.
Anda dapat memperbarui salah satu dari hal berikut:
NEW_NAMESPACE
: namespace tempat layanan GKE tujuan berjalan.NEW_SERVICE
: nama layanan GKE yang menerima peristiwa untuk pemicu.NEW_PATH
: jalur relatif di layanan GKE tujuan yang akan menerima peristiwa untuk pemicu.NEW_EVENT_DATA_TYPE
: encoding payload peristiwa; bergantung pada penyedia peristiwa, ini dapat berupaapplication/json
atauapplication/protobuf
.
Misalnya, untuk memperbarui layanan penerima peristiwa untuk pemicu:
gcloud eventarc triggers update my-gke-trigger \
--destination-gke-service=helloworld-events
Perintah ini memperbarui layanan penerima peristiwa untuk pemicu bernama my-gke-trigger
ke layanan GKE bernama helloworld-events
.
gcloud eventarc triggers updateTRIGGER \ --location=LOCATION \ --event-filters=NEW_EVENT_FILTERS \ --service-account=NEW_SERVICE_ACCOUNT \ --destination-workflow=NEW_DESTINATION_WORKFLOW \ --destination-workflow-location=NEW_DESTINATION_WORKFLOW_LOCATION \ --event-data-content-type="NEW_EVENT_DATA_TYPE "
Ganti kode berikut:
TRIGGER
: ID pemicu atau ID yang memenuhi syarat sepenuhnya.LOCATION
: lokasi pemicu Eventarc.
Anda dapat memperbarui salah satu dari hal berikut:
NEW_EVENT_FILTERS
: filter yang digunakan untuk mengonfigurasi pemilihan rute peristiwa pemicu; misalnya,methodName=storage.objects.create
dapat diperbarui menjadimethodName=storage.objects.delete
. Perhatikan bahwa setelah pemicu dibuat, filter peristiwatype
tidak dapat diubah. Untuk jenis peristiwa yang berbeda, Anda harus membuat pemicu baru.NEW_SERVICE_ACCOUNT
: email akun layanan Identity and Access Management (IAM) yang terkait dengan pemicu.NEW_DESTINATION_WORKFLOW
: ID alur kerja yang di-deploy yang menerima peristiwa dari pemicu.NEW_DESTINATION_WORKFLOW_LOCATION
: lokasi tempat alur kerja tujuan di-deploy.NEW_EVENT_DATA_TYPE
: encoding payload peristiwa; bergantung pada penyedia peristiwa, ini dapat berupaapplication/json
atauapplication/protobuf
.
Misalnya, untuk memperbarui akun layanan untuk pemicu:
gcloud eventarc triggers update my-workflows-trigger \
--service-account=new-serviceaccount@${PROJECT_ID}.iam.gserviceaccount.com
Perintah ini memperbarui akun layanan pemicu bernama
my-workflows-trigger
menjadi
new-serviceaccount@PROJECT_ID.iam.gserviceaccount.com
.
Untuk memperbarui pemicu yang ada, gunakan metode projects.locations.triggers.patch dan secara opsional gunakan parameter kueri updateMask
untuk menentukan daftar kolom yang akan diperbarui.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: nama pemicu yang ingin Anda perbarui.TRIGGER_NAME
: project ID Google Cloud Anda.PROJECT_ID
: Region tempat pemicu dibuat—misalnya,LOCATION us-central1
.
: optional. Email akun layanan Identity and Access Management (IAM) yang terkait dengan pemicu.SERVICE_ACCOUNT @PROJECT_ID .iam.gserviceaccount.com
: optional. Menentukan target tempat peristiwa harus dikirim dan berisi instanceDESTINATION Destination
. Contoh:{"destination": {"workflow": "projects/my-project/locations/us-central1/workflows/my-first-workflow"}}
atau
{"destination": {"cloudRun": {"service": "hello-world", "region": "us-central1"}}}
: optional. Atribut peristiwa yang akan digunakan untuk memfilter. Hanya pembaruan jenis metode untuk pemicu Cloud Audit Logs yang didukung. Contoh:EVENT_FILTER {"eventFilters": [{"attribute": "methodName", "value": "storage.buckets.create"}, {"attribute": "type", "value": "google.cloud.audit.log.v1.written"}, {"attribute": "serviceName", "value": "storage.googleapis.com"}]}
Perhatikan bahwa Anda tidak dapat memperbarui jenis metode untuk tujuan GKE.
: optional. Encoding payload peristiwa; bergantung pada penyedia peristiwa, ini dapat berupaCONTENT_TYPE application/json
atauapplication/protobuf
.
: optional. Daftar kolom yang akan diperbarui dan dipisahkan koma. Jika tidak diberikan, semua kolom yang diberikan dalam permintaan akan diperbarui. Contoh:UPDATE_FIELDS serviceAccount,destination
Meminta isi JSON:
{ "serviceAccount": "SERVICE_ACCOUNT @PROJECT_ID .iam.gserviceaccount.com", "destination":DESTINATION , "eventFilters"EVENT_FILTER , "eventDataContentType": "CONTENT_TYPE " }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "serviceAccount": "SERVICE_ACCOUNT @PROJECT_ID .iam.gserviceaccount.com", "destination":DESTINATION , "eventFilters"EVENT_FILTER , "eventDataContentType": "CONTENT_TYPE " } EOF
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME ?updateMask="UPDATE_FIELDS ""
PowerShell (Windows)
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "serviceAccount": "SERVICE_ACCOUNT @PROJECT_ID .iam.gserviceaccount.com", "destination":DESTINATION , "eventFilters"EVENT_FILTER , "eventDataContentType": "CONTENT_TYPE " } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME ?updateMask="UPDATE_FIELDS "" | Select-Object -Expand Content
Jika berhasil, isi respons akan berisi instance Operation
yang baru dibuat:
{ "name": "projects/PROJECT_ID /locations/LOCATION /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME ", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Jika nilai "done"
adalah false
, operasi
masih berlangsung.
Menghapus pemicu
Anda dapat menghapus pemicu.
Di konsol Google Cloud, buka halaman Pemicu Eventarc.
Pilih pemicu, lalu klik
Hapus.
gcloud eventarc triggers deleteTRIGGER
Ganti TRIGGER
dengan ID pemicu atau
ID yang sepenuhnya memenuhi syarat.
Untuk menghapus pemicu dengan nama yang ditentukan, gunakan metode
projects.locations.triggers.delete
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
: project ID Google Cloud Anda.PROJECT_ID
: Region tempat pemicu dibuat—misalnya,LOCATION us-central1
.
: nama pemicu yang ingin Anda hapus.TRIGGER_NAME
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Jalankan perintah berikut:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME "
PowerShell (Windows)
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME " | Select-Object -Expand Content
Jika berhasil, isi respons berisi instance
Operation
:
{ "name": "projects/PROJECT_ID /locations/LOCATION /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-24T17:53:52.834876290Z", "target": "projects/PROJECT_ID /locations/LOCATION /triggers/TRIGGER_NAME ", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Jika nilai "done"
adalah false
, operasi
masih berlangsung.