Cloud Functions で可能な処理

Cloud Functions によって、デベロッパーは Firebase および Google Cloud イベントにアクセスでき、それらのイベントに対応してコードを実行するスケーラブルな処理能力を得ることができます。Firebase アプリでは、独自の要件を満たすために独自の方法で Cloud Functions を使用することが想定されますが、典型的な使用例は次の領域に分類されます。

興味のあるカテゴリの使用例とサンプルを確認してから、はじめにチュートリアル、または認証イベントアナリティクス イベントなどの特定の入門ガイドに進みます。

関心事が発生したときにユーザーに通知する

デベロッパーは Cloud Functions を使用して、ユーザーが常にアプリに関する情報に関心を持ち、最新情報に接するようにすることができます。たとえば、ユーザーがアプリ内でのお互いの活動をフォローできるアプリを考えてみましょう。このようなアプリでは、新しいフォロワーを保存するための Realtime Database 書き込みによってトリガーされる関数で、新しいフォロワーを獲得したことを適切なユーザーに知らせる Firebase Cloud Messaging(FCM)通知を作成できます。

  1. 関数は、フォロワーが保存される Realtime Database パスへの書き込みでトリガーされます。
  2. 関数によって、FCM を介して送信するメッセージが作成されます。
  3. FCM によって、通知メッセージがユーザーの端末に送信されます。

実際のコードを確認するには、FCM 通知の送信をご覧ください。

関心事通知のその他の使用例

Realtime Database のサニタイズとメンテナンスを実行する

Cloud Functions のデータベース イベント処理を使用すると、ユーザーの動作に応じて Realtime Database を変更し、システムを最新でクリーンな状態に保つことができます。たとえば、Realtime Database 上に構築されたチャットルーム アプリでは、書き込みイベントをモニタリングし、不適切または冒とく的なテキストをユーザーのメッセージから除去できます。その仕組みは次のとおりです。

  1. 関数のデータベース イベント ハンドラによって、特定のパス上の書き込みイベントがリッスンされ、チャット メッセージのテキストを含むイベントデータが取得されます。
  2. 関数によってテキストが処理され、不適切な表現が検出されて除去されます。
  3. 更新されたテキストが関数によってデータベースに書き戻されます。

実際のコードを確認するには、テキスト管理のサンプルをご覧ください。このサンプルでは、チャット メッセージ内の不適切な表現および大文字での「叫び」がサニタイズされます。

Realtime Database のサニタイズとメンテナンスのその他の使用例

アプリではなくクラウドで集中的なタスクを実行する

デベロッパーは Cloud Functions を利用して、ユーザーの端末で実行することが現実的ではない、リソースを大量に必要とする作業(負荷が大きい CPU やネットワーキング)を Google Cloud にオフロードできます。たとえば、Storage への画像アップロードをリッスンする関数を記述し、関数を実行するインスタンスに画像をダウンロードし、変更し、Storage にアップロードして戻すことができます。変更には、画像のサイズ変更、切り抜き、変換などが含まれます。 この作業を簡単にするために、ImageMagick コマンドライン ツールが Cloud Functions で使用するために提供されています。

  1. 画像ファイルが Storage にアップロードされると、関数がトリガーされます。
  2. 関数によって画像がダウンロードされ、画像のサムネイル バージョンが作成されます。
  3. 関数によってそのサムネイルの場所がデータベースに書き込まれるため、クライアント アプリはそれを見つけて使用できます。
  4. 関数によってサムネイルは Storage の新しい場所にアップロードされます。
  5. アプリはサムネイル リンクをダウンロードします。

画像処理の例のチュートリアルについては、Storage イベントの処理をご覧ください。

Firebase Cloud でのバッチジョブのその他の例

サードパーティのサービスおよび API と統合する

Cloud Functions は、ウェブ API の呼び出しや公開によってアプリが他のサービスとの連携を強化するのに役立ちます。たとえば、開発時の共同作業に使用されるアプリは、GitHub の commit をワークグループのチャットルームに投稿できます。

  1. ユーザーが GitHub リポジトリに commit を push します。
  2. HTTPS 関数が GitHub webhook API を介してトリガーされます。
  3. 関数によって commit の通知がチームの Slack チャンネルに送信されます。

サードパーティのサービスおよび API と統合するためのその他の方法

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。