Cloud Run functions triggers

You can set up Cloud Run functions to execute in response to various scenarios by specifying a trigger for your function. Triggers can be HTTP(S) requests or one of a number of supported events. This page provides an overview of the triggers supported by Cloud Run functions.

Broadly, triggers fall into two categories:

  • HTTP triggers, which react to HTTP(S) requests, and correspond to HTTP functions.

  • Event triggers, which react to events within your Google Cloud project, and correspond to event-driven functions.

You specify triggers as part of function deployment. 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.

Supported triggers

Cloud Run functions supports the following types of triggers:

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

Additional triggers via 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 Cloud Run function by creating a Cloud Scheduler job that triggers an action using HTTP. For more information, in the Cloud Scheduler documentation, see Schedule an HTTP Cloud Run function.

You can schedule an event-driven 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. For more information, in the Cloud Scheduler documentation, see Schedule an event-driven Cloud Run function.

Cloud Tasks

Cloud Tasks HTTP Target tasks enable you to run task handlers at any HTTP endpoint, so a Cloud Run 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 functions.