Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

Firebase向けのクラウド機能

Cloud Functions for Firebaseは、Firebaseの機能とHTTPSリクエストによってトリガーされたイベントに応じてバックエンドコードを自動的に実行できるサーバーレスフレームワークです。 JavaScriptまたはTypeScriptコードはGoogleのクラウドに保存され、管理された環境で実行されます。独自のサーバーを管理および拡張する必要はありません。

すでにGoogleCloudでCloudFunctionsを使用していますか? Firebaseがどのように画像に適合するかについての詳細をご覧ください

はじめにユースケース

主な機能

Firebaseプラットフォームを統合します

作成する関数は、 Firebase認証トリガーからCloud Storageトリガーまで、さまざまなFirebaseおよびGoogleCloud機能によって生成されたイベントに応答できます。

AdminSDKとCloudFunctionsを使用してFirebaseの機能全体を統合し、独自のWebhookを作成してサードパーティのサービスと統合します。 Cloud Functionsはボイラープレートコードを最小限に抑え、関数内でFirebaseとGoogleCloudを簡単に使用できるようにします。
ゼロメンテナンスコマンドラインから1つのコマンドを使用して、JavaScriptまたはTypeScriptコードをサーバーにデプロイします。その後、Firebaseは、ユーザーの使用パターンに一致するようにコンピューティングリソースを自動的にスケールアップします。クレデンシャル、サーバー構成、新しいサーバーのプロビジョニング、または古いサーバーの廃止について心配する必要はありません。
ロジックをプライベートで安全に保つ多くの場合、開発者は、クライアント側での改ざんを避けるために、サーバー上のアプリケーションロジックを制御することを好みます。また、そのコードをリバースエンジニアリングできるようにすることが望ましくない場合もあります。 Cloud Functionsはクライアントから完全に分離されているため、プライベートであり、常に必要なことを正確に実行できます。

それはどのように機能しますか?

関数を作成してデプロイすると、Googleのサーバーは関数の管理をすぐに開始します。 HTTPリクエストを使用して関数を直接起動できます。または、バックグラウンド関数の場合、Googleのサーバーはイベントをリッスンし、トリガーされたときに関数を実行します。

負荷が増減すると、Googleは、関数の実行に必要な仮想サーバーインスタンスの数を迅速にスケーリングすることで対応します。各機能は、独自の構成を持つ独自の環境で、個別に実行されます。

バックグラウンド機能のライフサイクル

  1. 新しい関数のコードを記述し、イベントプロバイダー(Cloud Firestoreなど)を選択して、関数を実行する条件を定義します。
  2. 関数をデプロイするとき:
    1. Firebase CLIは、関数コードの.zipアーカイブを作成します。このアーカイブは、Cloud FunctionsがプロジェクトにArtifactレジストリリポジトリ( gcf-artifactsという名前)を作成する前に、Cloud Storageバケット(接頭辞gcf-sources )にアップロードされます。
    2. Cloud Buildは関数コードを取得し、関数ソースをビルドします。 CloudBuildログはGoogleCloudConsoleで表示できます。
    3. ビルドされた関数コードのコンテナイメージは、プロジェクトのプライベートArtifact Registryリポジトリ( gcf-artifactsという名前)にアップロードされ、新しい関数がロールアウトされます。
  3. イベントプロバイダーが関数の条件に一致するイベントを生成すると、コードが呼び出されます。
  4. 関数が多くのイベントの処理でビジー状態の場合、Googleはより多くのインスタンスを作成して作業をより高速に処理します。関数がアイドル状態の場合、インスタンスはクリーンアップされます。
  5. 更新されたコードをデプロイして関数を更新すると、古いバージョンのインスタンスがArtifact Registryのビルドアーティファクトとともにクリーンアップされ、新しいインスタンスに置き換えられます。
  6. 関数を削除すると、すべてのインスタンスとzipアーカイブが、Artifactレジストリ内の関連するビルドアーティファクトとともにクリーンアップされます。関数とイベントプロバイダー間の接続が削除されます。

バックグラウンド関数を使用してイベントをリッスンすることに加えて、HTTPリクエストまたはクライアントからの呼び出しを使用して関数を直接呼び出すことができます。

実装パス

クラウド機能を設定するFirebase CLIをインストールし、FirebaseプロジェクトでCloudFunctionsを初期化します。
関数を書くFirebaseサービス、Google Cloudサービス、またはその他のイベントプロバイダーからのイベントを処理するためのJavaScriptコード(または展開時にトランスパイルするTypeScriptコード)を記述します。
テスト機能ローカルエミュレータを使用して、機能をテストします。
展開と監視プロジェクトの課金を有効にし、FirebaseCLIを使用して機能をデプロイします。 Google Cloud Consoleを使用して、ログを表示および検索できます。

次のステップ