Closed6
Cloud Functions トリガー
公式ドキュメント (ja)
Cloud Functions とは
- Cloud Functions は、GCP が提供するサーバーレス実行環境
- 開発者はバックエンドのサーバーを管理することなく、コードを直接クラウドにデプロイして実行可能
- 監視対象のイベントが発生した時、あるいは、HTTP リクエストが行われた時に関数がトリガーされる。
トリガーの分類
トリガーは2つのカテゴリに分類される。
-
HTTP トリガー: HTTP(S) リクエストに応答し、HTTP関数に対応。
- HTTP トリガーは特定の URL に対する HTTP リクエストを受け取るためのエンドポイントを提供する。このトリガーを使用すると、Web アプリや他のサービスからのリクエストに応じて関数を実行できる。
import * as functions from 'firebase-functions';
export const helloWorld = functions.https.onRequest((req, res) => {
const name = req.query.name || 'World'
res.send(`Hello, ${name}!`);
});
-
イベントトリガー: Google Cloud プロジェクト内のイベントに応答し、イベントドリブン関数に対応。
- Google Cloud 内のサービスからのイベントによって起動される。
import * as functions from 'firebase-functions';
export const pubsubFunction = functions.pubsub.onMessagePublished('topic-name', (message, _context) => {
const data = message.json;
console.log(`Received message with data: ${JSON.stringify(data)}`);
});
備考
- トリガーは関数のデプロイ時に指定する。
- 同じ関数を一度に複数のトリガーにバインドすることはできない。
- 同じトリガー設定で複数の関数をデプロイすることで、同じイベントの発生時に複数の関数を実行できる。
第2世代でサポートされているトリガー
Cloud Functions (第 2 世代) では次のタイプのトリガーがサポートされている。
- HTTP トリガー
- イベントトリガー
- Pub/Sub トリガー
- Cloud Storage トリガー
- Firestore トリガー
- 汎用の Eventarc トリガー (Eventarc でサポートされているすべてのイベントタイプをサポート)
- Directly from a Google Cloud source
- Using Cloud Audit Logs
- Using third-party sources
第1世代でサポートされているトリガー
Cloud Functions (第 1 世代) では次のタイプのトリガーがサポートされている。
- HTTP トリガー
- イベント トリガー
- Pub/Sub トリガー
- Cloud Storage トリガー
- Firestore トリガー
- Firebase 向け Google アナリティクス トリガー
- Firebase Realtime Database トリガー
- Firebase Authentication トリガー
- Firebase Remote Config トリガー
Pub/Sub と Webhook による追加のトリガー
Cloud Functions は Pub/Sub トピックのメッセージによってトリガーできるため、Cloud Functions をイベントバスとして Pub/Sub をサポートする他の Google サービスと統合できます。また、HTTP トリガーを使用して、HTTP コールバックを提供するサービス(Webhook)と統合することもできます。
- Cloud Logging
- Cloud Logging はログを Pub/Sub トピックに転送し、Cloud Functions で使用できる。
- Cloud Scheduler
- Cloud Scheduler ジョブは Pub/Sub トピックにメッセージを送信でき、Cloud Functions で使用できる。
- Cloud Tasks
- Cloud Tasks HTTP Target タスクを使用すると任意の HTTP エンドポイントでタスクハンドラを実行できるため、HTTP トリガーを含む Cloud Functions 関数をタスクハンドラとして使用できる。
- Gmail
- Gmail の Push Notification API を使用することで、Gmail のイベントを Pub/Sub トピックに送信し、Cloud Functions で使用できる。
このスクラップは1ヶ月前にクローズされました