Cloud Run functions のトリガー
関数のトリガーを指定することで、さまざまなシナリオに対応して実行されるように Cloud Run functions を設定できます。トリガーは、HTTP(S) リクエストまたはサポートされている複数のイベントのいずれかです。このページでは、Cloud Run functions でサポートされているトリガーの概要について説明します。
トリガーは次の 2 つのカテゴリに分類されます。
HTTP トリガー。HTTP(S) リクエストに応答し、HTTP 関数に対応します。
イベント トリガー。Google Cloud プロジェクト内のイベントに応答し、イベント ドリブン関数に対応します。
トリガーは関数のデプロイ時に指定します。同じ関数を一度に複数のトリガーにバインドすることはできませんが、同じトリガー設定で複数の関数をデプロイすることで、同じイベントで複数の関数を実行できます。
サポートされているトリガー
Cloud Run functions は、次のタイプのトリガーをサポートしています。
- HTTP トリガー
- イベント トリガー:
- Pub/Sub トリガー
- Cloud Storage トリガー
- Firestore トリガー
- 汎用の Eventarc トリガー
- Eventarc でサポートされているすべてのイベントタイプをサポート(Cloud Audit Logs を介した 90 以上のイベントソースを含む)
すべてのイベント ドリブン関数は、イベント配信に Eventarc を使用します。Pub/Sub トリガーと Cloud Storage トリガーは、Eventarc トリガーの一種として実装されます。
Pub/Sub と Webhook による追加のトリガー
Cloud Run functions は Pub/Sub トピックのメッセージによってトリガーできるため、Cloud Run functions をイベントバスとして Pub/Sub をサポートする他の Google サービスと統合できます。また、HTTP トリガーを使用して、HTTP コールバックを提供するサービス(Webhook)と統合することもできます。以下のセクションでは、統合の例について説明します。
Cloud Logging
Cloud Logging では、ログを Pub/Sub トピックに転送し、そこで Cloud Run functions で使用できます。詳細については、Cloud Logging ドキュメントのシンクの構成と管理をご覧ください。
Cloud Scheduler
HTTP を使用してアクションをトリガーする Cloud Scheduler ジョブを作成することで、Cloud Run functions HTTP 関数のスケジュールを設定できます。詳細については、Cloud Scheduler のドキュメントで Cloud Run functions HTTP 関数のスケジュールを設定するをご覧ください。
イベント ドリブン関数は、Google Cloud プロジェクト内のイベント(Pub/Sub トピックへのメッセージの公開など)に応答して関数を直接トリガーする必要がある場合にスケジュール設定できます。詳細については、Cloud Scheduler のドキュメントでイベント ドリブンの Cloud Run functions をスケジュールするをご覧ください。
Cloud Tasks
Cloud Tasks HTTP Target タスクを使用すると、任意の HTTP エンドポイントでタスクハンドラを実行できるため、HTTP トリガーを含む Cloud Run functions をタスクハンドラとして使用できます。タスクを使用して、関数呼び出しのスロットリングやレート制限を行うこともできます。詳細については、Cloud Tasks ドキュメントの HTTP Target タスクの作成をご覧ください。
Gmail
Gmail の Push Notification API を使用することで、Gmail のイベントを Pub/Sub トピックに送信し、Cloud Run functions で使用できます。