Cloud Run 函式觸發事件

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

觸發條件類型

根據預設,在 Cloud Run 上部署的所有函式都是Cloud Run 原始碼部署服務,且具有 HTTP 端點 (run.app 網址)。如果您先前是使用 gcloud functions 指令Cloud Functions v2 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 取用這些事件。