Function triggers

After you create and deploy your function with Cloud Run, you can set your function to execute in response to various scenarios by specifying a trigger.

This page provides an overview of the triggers supported by Cloud Run functions.

Types of triggers

By default, all functions deployed on Cloud Run are Cloud Run source-deployed services that have an HTTP endpoint (run.app URL).

How your function is invoked or triggered depends on the type of function you specify when writing your code.

  • CloudEvent triggers Reacts to events within your Google Cloud project and corresponds to CloudEvents functions (also called event-driven functions). You must use Eventarc, Google's implementation of the CloudEvents spec that supports building event-driven architectures, to trigger functions in response to specified events.
  • HTTP triggers: Reacts to HTTP(S) requests and correspond to HTTP functions. You can use other Google Cloud services (non-Eventarc) as an event provider to invoke the function through HTTP(S) requests.

To trigger a function to react to events within your Google Cloud project, you specify triggers as part of deploying the function in the Google Cloud console or after function is deployed when using the gcloud CLI.

You cannot bind the same function to more than one trigger at a time, but you can have the same event cause multiple functions to execute by deploying multiple functions with the same trigger settings.

Example triggers

The following are example triggers supported by Cloud Run functions:

All CloudEvents functions use Eventarc for event delivery. Pub/Sub triggers and Cloud Storage triggers are implemented as particular types of Eventarc triggers.

Additional triggers using Pub/Sub and webhooks

Because Cloud Run functions can be triggered by messages on a Pub/Sub topic, you can integrate Cloud Run functions with any other Google service that supports Pub/Sub as an event bus. In addition, by using HTTP triggers you can also integrate with any service that provides HTTP callbacks (webhooks). The following sections describe some example integrations.

Cloud Logging

Cloud Logging can route logs to a Pub/Sub topic, where they can then be consumed by Cloud Run functions. See Configure and manage sinks in the Cloud Logging documentation for more information.

Cloud Scheduler

You can schedule an HTTP function by creating a Cloud Scheduler job that triggers an action using HTTP.

You can also schedule a CloudEvent function when your function should be triggered directly in response to events within your Google Cloud project; for example, when a message is published to a Pub/Sub topic.

Cloud Tasks

Cloud Tasks HTTP Target tasks enable you to run task handlers at any HTTP endpoint, so an HTTP function with an HTTP trigger can be used as a task handler. You can also use tasks to throttle or rate-limit function invocations. See Create HTTP Target tasks in the Cloud Tasks documentation for more information.

Gmail

Using the Gmail Push Notification API, you can send Gmail events to a Pub/Sub topic and consume them with Cloud Run.