Cloud Firestoreトリガーを使う

公開日時
更新日時

Cloud Firestore トリガーを使うと、特定のドキュメントに変更があった場合に指定のFirebase Functionsを呼び出すことができる。

特定のイベントのみを検知したい場合は

  • onCreate
  • onUpdate
  • onDelete

が利用でき、全イベントをまとめて一つのFunctionsで受け取りたい場合は

  • onWrite

を利用する。

トリガーは便利な反面、トリガー経由で別のドキュメントを変更した際に無限にトリガーが呼ばれ続けてしまう可能性があるため、事前に設計をしっかり行う必要がある。

幸いにも今はFirebase Local Emulator Suiteを使うことで、本番環境で無限トリガーが発生する前にローカル環境で気づけるようになったので、以前よりは安心して利用できるようになった。


Related #firebase

Firestoreで特定のfieldがnullのドキュメントを取得する

where('field', '==', null)で条件指定できる

Firebase Functionsのスケジュール実行はローカルでは動かない

まだサポートされておらず機能リクエストがissueに挙がっている状況

SharedArrayBuffer updates in Android Chrome 88 and Desktop Chrome 92

クロスオリジン分離対応を実施

_this.auth.addAuthTokenListener is not a function

8.6.5にダウングレードした

Firebase Auth Googleログイン時のリダイレクトドメインを変更する

CNAME追加とHostingの「カスタムドメインを追加」を行う

Firebase Emulator Suiteで起動しているFunctionsから本番のFirestoreにアクセスする

functionsのみエミュレータを使うようにするとできる