Manage triggers

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

  1. In the Google Cloud console, go to the Eventarc Triggerspage.

    Go to Triggers

    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.

  2. To filter your triggers by a specific property:

    1. Click the Filterbox.
    2. 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.

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

  1. In the Google Cloud console, go to the Eventarc Triggerspage.

    Go to Triggers

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

  1. In the Google Cloud console, go to the Eventarc Triggerspage.

    Go to Triggers

  2. From the list of triggers, click the trigger you want to know the details about.

  3. On the Trigger detailspage, click Edit.

  4. 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 to methodName=storage.objects.delete . Note that after a trigger is created, the type 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 be application/json or application/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 be application/json or application/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 to methodName=storage.objects.delete . Note that after a trigger is created, the type 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 be application/json or application/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 of Destination . 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 be application/json or application/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

  1. In the Google Cloud console, go to the Eventarc Triggerspage.

    Go to Triggers

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

What's next

Create a Mobile Website
View Site in Mobile | Classic
Share by: