- Firebaseの機能とHTTPSリクエストによってトリガーされたイベントに応じて、バックエンドのコードを自動的に実行するサーバーレスフレームワーク
- JS、TSのコードはGoogle Cloud Servicesに保存され、マネージド環境で実行される
- 独自のサーバーの管理/スケーリングの必要はない
- Firebase Authentication トリガー、Cloud Storage トリガーなど、さまざまな Firebase や Google Cloud 機能によって生成されたイベントに応答できる
- Admin SDKを Cloud Functions とともに使用して、Firebase のさまざまな機能を統合できる
- 独自のWebhookを作成して、サードパーティのサービスと統合することもできる
- 1つのコマンドで、JS/TSコードをサーバーにデプロイする
- 認証情報、サーバー構成、新規サーバーのプロビジョニング、古いサーバーのデコミッションを気にする必要はない
- クライアントから完全に隔離されて、クライアントからして非公開にできる
- クライアント側での改ざんを防ぐ
- コードをリバースエンジニアリングできないようにする
- 関数を記述してデプロイする
- Googleのサーバーで関数の管理を開始する
- 関数は、HTTPリクエストで直接呼び出すことができる
- バックグラウンド関数の場合、Googleのサーバーがイベントをリッスンして、関数がトリガーされたときに実行する
- 負荷が増減すると、Googleが関数の実行に必要な仮想サーバーインスタンスの数をスケーリングすることで対応する
- 各関数は、独自の構成が含まれる独自の環境で独立して実行される
- 課金は必須
- Cloud Schedulerの各ジョブのコストは月額$0.10(USD)
- Google アカウントごとに3つのジョブを無料で使用できる
functions.firestore.document('ドキュメントまでのパス')
をもとにトリガーをつけて使える
イベントタイプ | トリガー |
---|---|
onCreate | ドキュメントが最初に書き込まれたときにトリガーされる |
onUpdate | すでに存在するドキュメントの値が変更されたときにトリガーされる |
onDelete | データを含むドキュメントが削除されたときにトリガーされる |
onWrite | onCreate 、onUpdate 、onDelete がトリガーされたときにトリガーされる |
- 特定のドキュメントに変更が加えられるまで待つ
- イベントが発生するとトリガーされ、タスクを実行する
- 指定されたドキュメントに保存されているデータのスナップショットを含むデータオブジェクトを受け取る
- onWrite、onUpdateの場合、データオブジェクトには、トリガーとなるイベントの前後のデータ状態を表す2つのスナップショットが含まれる