Cloud Run 函式觸發事件

建立及部署 Cloud Run 函式後,您可以指定觸發條件,讓函式因應各種情境執行。本頁面提供 Cloud Run 函式支援的觸發條件總覽。

觸發條件類型

根據預設,部署在 Cloud Run 上的所有函式都是透過 Cloud Run 來源部署的服務,具有 HTTP 端點 (run.app 網址)。如果您先前使用 gcloud functions 指令Cloud Functions 第 2 代 API 建立函式,該函式預設會有 cloudfunctions.net HTTP 端點。

函式的叫用或觸發方式取決於您編寫程式碼時指定的函式類型。

  • 事件驅動型觸發條件:對 Google Cloud 專案中的事件做出反應,並對應至事件驅動型函式 (也稱為 CloudEvent 函式)。您必須使用 Eventarc (Google 實作的 CloudEvents 規格,支援建構事件導向的架構),才能在發生指定事件時觸發函式。
  • HTTP 觸發條件:對 HTTP(S) 要求做出反應,並對應至 HTTP 函式。您可以將其他Google Cloud 服務 (非 Eventarc) 當做事件供應商,透過 HTTP(S) 要求叫用函式。

如要觸發函式來回應 Google Cloud 專案中的事件,請在 Google Cloud 控制台中部署函式時指定觸發條件,或在使用 gcloud CLI 部署函式後指定觸發條件。

您無法一次將同一個函式繫結至多個觸發條件,但可以部署多個具有相同觸發條件設定的函式,讓同一個事件觸發多個函式執行。

觸發條件範例

Cloud Run 函式支援的觸發條件範例如下:

所有事件導向函式都會使用 Eventarc 傳送事件。 Pub/Sub 觸發條件和 Cloud Storage 觸發條件會實作特定類型的 Eventarc 觸發條件。

使用 Pub/Sub 和 Webhook 的其他觸發條件

由於 Cloud Run 函式可透過 Pub/Sub 主題的訊息觸發,因此您可以將 Cloud Run 函式與任何其他支援 Pub/Sub 做為事件匯流排的 Google 服務整合。此外,您也可以使用 HTTP 觸發程序,與提供 HTTP 回呼 (Webhook) 的任何服務整合。以下各節說明一些整合範例。

Cloud Logging

Cloud Logging 可將記錄檔傳送至 Pub/Sub 主題,然後由 Cloud Run 函式使用。詳情請參閱 Cloud Logging 說明文件中的「設定及管理接收器」。

Cloud Scheduler

您可以建立 Cloud Scheduler 工作,透過 HTTP 觸發動作,藉此排定 HTTP 函式。

您也可以排定以事件為依據的函式,在函式應直接回應 Google Cloud 專案中的事件時觸發,例如訊息發布至 Pub/Sub 主題時。

Cloud Tasks

Cloud Tasks HTTP 目標工作可讓您在任何 HTTP 端點執行工作處理常式,因此具有 HTTP 觸發條件的 HTTP 函式可用做工作處理常式。您也可以使用工作來節流或限制函式呼叫的頻率。詳情請參閱 Cloud Tasks 說明文件中的「建立 HTTP 目標工作」。

Gmail

使用 Gmail Push Notification API,您可以將 Gmail 事件傳送至 Pub/Sub 主題,並透過 Cloud Run 取用這些事件。