Cloud Functions トリガー

関数のトリガーを指定することで、さまざまなシナリオに対応して実行されるように Cloud Functions を設定できます。トリガーは、HTTP(S) リクエストまたはサポートされている複数のイベントのいずれかです。このページでは、Cloud Functions でサポートされているトリガーの概要について説明します。

トリガーは次の 2 つのカテゴリに分類されます。

  • HTTP トリガー。HTTP(S) リクエストに応答し、HTTP 関数に対応します。

  • イベント トリガー。Google Cloud プロジェクト内のイベントに応答し、イベント ドリブン関数に対応します。

トリガーは関数のデプロイ時に指定します。同じ関数を一度に複数のトリガーにバインドすることはできませんが、同じトリガー設定で複数の関数をデプロイすることで、同じイベントで複数の関数を実行できます。

Cloud Functions(第 2 世代)でサポートされているトリガー

Cloud Functions(第 2 世代)では、次のタイプのトリガーがサポートされています。

Cloud Functions(第 2 世代)のすべてのイベント ドリブン関数は、イベント配信に Eventarc トリガーを使用します。Cloud Functions(第 2 世代)では、Pub/Sub トリガーと Cloud Storage トリガーは、Eventarc トリガーの一種として実装されます。

Cloud Functions(第 1 世代)でサポートされているトリガー

Cloud Functions(第 1 世代)では、次のタイプのトリガーがサポートされています。

Pub/Sub と Webhook による追加のトリガー

Cloud Functions は Pub/Sub トピックのメッセージによってトリガーできるため、Cloud Functions をイベントバスとして Pub/Sub をサポートする他の Google サービスと統合できます。また、HTTP トリガーを使用して、HTTP コールバックを提供するサービス(Webhook)と統合することもできます。以下のセクションでは、統合の例について説明します。

Cloud Logging

Cloud Logging では、ログを Pub/Sub トピックに転送し、そこで Cloud Functions で使用できます。詳細については、Cloud Logging ドキュメントのシンクの構成と管理をご覧ください。

Cloud Scheduler

Cloud Scheduler ジョブは Pub/Sub トピックにメッセージを送信できます。メッセージは Cloud Functions で使用できます。詳細については、Cloud Scheduler チュートリアルの Pub/Sub を使用して Cloud Functions の関数をトリガーするをご覧ください。

Cloud Tasks

Cloud Tasks HTTP Target タスクを使用すると、任意の HTTP エンドポイントでタスクハンドラを実行できるため、HTTP トリガーを含む Cloud Functions 関数をタスクハンドラとして使用できます。タスクを使用して、関数呼び出しのスロットリングやレート制限を行うこともできます。詳細については、Cloud Tasks ドキュメントの HTTP Target タスクの作成をご覧ください。

Gmail

Gmail の Push Notification API を使用することで、Gmail のイベントを Pub/Sub トピックに送信し、Cloud Functions で使用できます。