You can manage triggers using either the Google Cloud console or the Google Cloud CLI in either your terminal or Cloud Shell . You can also manage triggers through the Eventarc API.
List triggers
You can list, filter, and sort through your triggers in all locations.
Console
-
In the Google Cloud console, go to the Eventarc Triggerspage.
This lists all the triggers in your project for all locations, and includes details such as the trigger name, region, event provider, destination, and event type.
-
To filter your triggers by a specific property:
- Click the Filterbox.
- From the list of Properties, select an option to filter the triggers by—for example, Nameor Event channel.
You can select a single property or use the logical operator
OR
to add more properties to filter by. -
To sort your triggers, click Sortbeside the appropriate column heading.
Only some columns are sortable—for example, Name, Region, or Event channel.
gcloud
gcloud eventarc triggers list --location = -
This command lists your trigger name, type, destination, and status in all locations.
REST
To list triggers in a given project and location, use the projects.locations.triggers.list
method.
Before using any of the request data, make the following replacements:
-
PROJECT_ID
: your Google Cloud project ID. -
LOCATION
: the region in which the triggers are created—for example,us-central1
.
To send your request, expand one of these options:
If successful, the response body contains instances of Trigger
and the response should be similar to the following:
{ "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 ] }
Describe a trigger
You can describe a trigger in a specific location.
Console
-
In the Google Cloud console, go to the Eventarc Triggerspage.
-
From the list of triggers, click the trigger you want to know the details about.
The Trigger detailspage displays the details of the trigger such as name, region, event provider, event type, event data content type, and destination.
gcloud
gcloud eventarc triggers describe TRIGGER \ --location = LOCATION
Replace the following:
-
TRIGGER
: the ID of the trigger or a fully qualified identifier. -
LOCATION
: the location of the Eventarc trigger.
This command returns information about the trigger that is similar to the following:
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
REST
To describe a trigger in a given project and location, use the projects.locations.triggers.get
method.
Before using any of the request data, make the following replacements:
-
TRIGGER_NAME
: the name of the trigger you want to describe. -
PROJECT_ID
: your Google Cloud project ID. -
LOCATION
: the region in which the trigger is created—for example,us-central1
.
To send your request, expand one of these options:
If successful, the response body contains an instance of Trigger
similar to the following:
{ "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 " } } }
If the condition of the trigger indicates an issue with the Pub/Sub topic, refer to Trigger is not delivering events .
Update a trigger
You can update a trigger for Cloud Run, Google Kubernetes Engine (GKE), and Workflows destinations. Depending on the destination, specific fields can be updated.
Console
-
In the Google Cloud console, go to the Eventarc Triggerspage.
-
From the list of triggers, click the trigger you want to know the details about.
-
On the Trigger detailspage, click Edit.
-
Edit fields as required and click Save.
Note that you can't update any unavailable fields such as the Event providerand Event destination. For more information about the fields, see the Consoleinstructions for a specific provider, event type, and destination .
gcloud
Cloud Run
gcloud eventarc triggers update TRIGGER \ --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 "
Replace the following:
-
TRIGGER
: the ID of the trigger or a fully qualified identifier. -
LOCATION
: the location of the Eventarc trigger.
You can update any of the following:
-
NEW_EVENT_FILTERS
: the filter used to configure the event routing of the trigger; for example,methodName=storage.objects.create
can be updated tomethodName=storage.objects.delete
. Note that after a trigger is created, thetype
event filter can't be changed. For a different event type, you must create a new trigger. -
NEW_SERVICE_ACCOUNT
: the Identity and Access Management (IAM) service account email associated with the trigger. -
NEW_REGION
: the region in which the destination Cloud Run service can be found. -
NEW_SERVICE
: the name of the Cloud Run service that receives the events for the trigger. -
NEW_PATH
: the relative path on the destination Cloud Run service to which the events for the trigger should be sent. -
NEW_EVENT_DATA_TYPE
: the encoding of the event payload; depending on the event provider, this can beapplication/json
orapplication/protobuf
.
For example, to update the service account for a trigger:
gcloud
eventarc
triggers
update
my-cloud-run-trigger
\
--service-account =
new-serviceaccount@ ${
PROJECT_ID
}
.iam.gserviceaccount.com
This command updates the service account of a trigger named my-cloud-run-trigger
to new-serviceaccount@ PROJECT_ID
.iam.gserviceaccount.com
.
GKE
Note that this section also applies to the public endpoints of private and public services running in a GKE cluster.
gcloud eventarc triggers update TRIGGER \ --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 "
Replace the following:
-
TRIGGER
: the ID of the trigger or a fully qualified identifier. -
LOCATION
: the location of the Eventarc trigger.
You can update any of the following:
-
NEW_NAMESPACE
: the namespace in which the destination GKE service is running. -
NEW_SERVICE
: the name of the GKE service that receives the events for the trigger. -
NEW_PATH
: the relative path on the destination GKE service to which the events for the trigger should be sent. -
NEW_EVENT_DATA_TYPE
: the encoding of the event payload; depending on the event provider, this can beapplication/json
orapplication/protobuf
.
For example, to update the event receiver service for a trigger:
gcloud
eventarc
triggers
update
my-gke-trigger
\
--destination-gke-service =
helloworld-events
This command updates the event receiver service for a trigger named my-gke-trigger
to a GKE service named helloworld-events
.
Workflows
gcloud eventarc triggers update TRIGGER \ --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 "
Replace the following:
-
TRIGGER
: the ID of the trigger or a fully qualified identifier. -
LOCATION
: the location of the Eventarc trigger.
You can update any of the following:
-
NEW_EVENT_FILTERS
: the filter used to configure the event routing of the trigger; for example,methodName=storage.objects.create
can be updated tomethodName=storage.objects.delete
. Note that after a trigger is created, thetype
event filter can't be changed. For a different event type, you must create a new trigger. -
NEW_SERVICE_ACCOUNT
: the Identity and Access Management (IAM) service account email associated with the trigger. -
NEW_DESTINATION_WORKFLOW
: the ID of the deployed workflow that receives the events from the trigger. -
NEW_DESTINATION_WORKFLOW_LOCATION
: the location in which the destination workflow is deployed. -
NEW_EVENT_DATA_TYPE
: the encoding of the event payload; depending on the event provider, this can beapplication/json
orapplication/protobuf
.
For example, to update the service account for a trigger:
gcloud
eventarc
triggers
update
my-workflows-trigger
\
--service-account =
new-serviceaccount@ ${
PROJECT_ID
}
.iam.gserviceaccount.com
This command updates the service account of a trigger named my-workflows-trigger
to new-serviceaccount@ PROJECT_ID
.iam.gserviceaccount.com
.
REST
To update an existing trigger, use the projects.locations.triggers.patch
method and optionally use the updateMask
query parameter to specify a list
of fields to be updated.
Before using any of the request data, make the following replacements:
-
TRIGGER_NAME
: the name of the trigger you want to update. -
PROJECT_ID
: your Google Cloud project ID. -
LOCATION
: the region in which the trigger is created—for example,us-central1
. -
SERVICE_ACCOUNT @ PROJECT_ID .iam.gserviceaccount.com
: optional. The Identity and Access Management (IAM) service account email associated with the trigger. -
DESTINATION
: optional. Specifies the target where the event should be sent to and contains an instance ofDestination
. For example:{"destination": {"workflow": "projects/my-project/locations/us-central1/workflows/my-first-workflow"}}
or
{"destination": {"cloudRun": {"service": "hello-world", "region": "us-central1"}}}
-
EVENT_FILTER
: optional. The event attributes to filter on. Only updating the method type for Cloud Audit Logs triggers is supported. For example:{"eventFilters": [{"attribute": "methodName", "value": "storage.buckets.create"}, {"attribute": "type", "value": "google.cloud.audit.log.v1.written"}, {"attribute": "serviceName", "value": "storage.googleapis.com"}]}
Note that you can't update method types for GKE destinations.
-
CONTENT_TYPE
: optional. The encoding of the event payload; depending on the event provider, this can beapplication/json
orapplication/protobuf
. -
UPDATE_FIELDS
: optional. A comma-separated list of fields to be updated. If not provided, all provided fields in the request are updated. For example:serviceAccount,destination
Request JSON body:
{ "serviceAccount": " SERVICE_ACCOUNT @ PROJECT_ID .iam.gserviceaccount.com", "destination": DESTINATION , "eventFilters" EVENT_FILTER , "eventDataContentType": " CONTENT_TYPE " }
To send your request, expand one of these options:
If successful, the response body contains a newly created instance of Operation
:
{ "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 }
If the value of "done"
is false
, the operation
is still in progress.
Delete a trigger
You can delete a trigger.
Console
-
In the Google Cloud console, go to the Eventarc Triggerspage.
-
Select the trigger and click Delete.
gcloud
gcloud eventarc triggers delete TRIGGER
Replace TRIGGER
with the ID of the trigger or a
fully qualified identifier.
REST
To delete a trigger with a specified name, use the projects.locations.triggers.delete
method.
Before using any of the request data, make the following replacements:
-
PROJECT_ID
: your Google Cloud project ID. -
LOCATION
: the region in which the trigger is created—for example,us-central1
. -
TRIGGER_NAME
: the name of the trigger you want to delete.
To send your request, expand one of these options:
If successful, the response body contains an instance of 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 }
If the value of "done"
is false
, the operation
is still in progress.