コンテンツに移動
データベース

Firestore トリガーが Eventarc と統合し、3 つのトリガー先が追加

2023年5月26日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 5 月 23 日に、Google Cloud blog に投稿されたものの抄訳です。

Firestore トリガーは、Firestore のドキュメント変更に応じてカスタム演算をトリガーできるようにする、業界内で「変更データ キャプチャ」という名称で広く知られる機能です。この機能は、通常、Firestore ドキュメントの変更点をサードパーティのサービスに複製したり、変更点について通知したり、削除された Firestore ドキュメントを別のストレージ システムにアーカイブしたりするために使用されます。

このたび、Firestore のトリガー先を拡充するため、Eventarc と統合したことをお知らせいたします。これにより、Eventarc がサポートしている Cloud Run、Google Kubernetes Engine(GKE)、Cloud Functions(第 2 世代)の 3 つを、トリガー先として利用できるようになります。このインテグレーションでは、イベントデータを記述するための統一仕様である CloudEvents フォーマットが使用されています。 すでにサポートされてる Cloud Functions(第 1 世代)に続き、新しく 3 つのトリガー先が追加される形となります。

サンプルのチュートリアル

たとえば、Firestore でチャット メッセージ システムを構築し、新しいチャット メッセージが Firestore に書き込まれたタイミングで別のところにあるプロセスを起動したいとしましょう。たとえば、次のようなデータモデルを利用しているとします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Firestore_is_now_integrated_with_Eventarc-.max-1400x1400.jpg

まず、Firestore トリガーを設定する必要があります。トリガー先として、Cloud Functions(第 2 世代)Cloud RunGoogle Kubernetes Engine などを選択できます。

ここでは、HTTP エンドポイントを公開する hello という名前の Cloud Run サービスがあるとしましょう。Cloud Run のこちらのサンプル コンテナをこの目的に使用できます。Cloud Run の [トリガー] タブに移動して、ドキュメントの生成時にこのエンドポイントを起動するような新しいトリガーを作成します。
https://storage.googleapis.com/gweb-cloudblog-publish/images/2_w8MtkaR.max-1300x1300.jpg

新しいトリガーの構成時に、フィルタを適用することもできます。次の例では、(default) データベースの Chats コレクションでドキュメントが生成されたときにのみ、トリガーが発行されるようにしています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_IowbmLI.max-1300x1300.jpg

これで、Chats コレクションでドキュメントが作成されると、hello という名前の構成済み Cloud Run サービスにそのドキュメントが直ちに渡されるようになります。

Firebase ユーザーは、Firebase CLI を使って、Cloud Functions(第 2 世代)の設定および管理を行えます。Firebase エミュレータ スイートを使って、本番環境にデプロイする前にローカルですべてテストすることもできます。

次のステップ

Firestore トリガーの作成および構成方法について詳しくは、ドキュメントをご覧ください。


このブログ投稿の執筆に際し、Firestore のシニア テクニカル ライターである Juan Lara の協力に感謝します。


- Firestore ソフトウェア エンジニア Hansi Mou
Firestore シニア プロダクト マネージャー リード Minh Nguyen
投稿先