Firebase向けのクラウド機能
すでに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は、関数の実行に必要な仮想サーバーインスタンスの数を迅速にスケーリングすることで対応します。各機能は、独自の構成を持つ独自の環境で、個別に実行されます。
バックグラウンド機能のライフサイクル
- 新しい関数のコードを記述し、イベントプロバイダー(Cloud Firestoreなど)を選択して、関数を実行する条件を定義します。
- 関数をデプロイするとき:
- Firebase CLIは、関数コードの
.zip
アーカイブを作成します。このアーカイブは、Cloud FunctionsがプロジェクトにArtifactレジストリリポジトリ(gcf-artifacts
という名前)を作成する前に、Cloud Storageバケット(接頭辞gcf-sources
)にアップロードされます。 - Cloud Buildは関数コードを取得し、関数ソースをビルドします。 CloudBuildログはGoogleCloudConsoleで表示できます。
- ビルドされた関数コードのコンテナイメージは、プロジェクトのプライベートArtifact Registryリポジトリ(
gcf-artifacts
という名前)にアップロードされ、新しい関数がロールアウトされます。
- Firebase CLIは、関数コードの
- イベントプロバイダーが関数の条件に一致するイベントを生成すると、コードが呼び出されます。
- 関数が多くのイベントの処理でビジー状態の場合、Googleはより多くのインスタンスを作成して作業をより高速に処理します。関数がアイドル状態の場合、インスタンスはクリーンアップされます。
- 更新されたコードをデプロイして関数を更新すると、古いバージョンのインスタンスがArtifact Registryのビルドアーティファクトとともにクリーンアップされ、新しいインスタンスに置き換えられます。
- 関数を削除すると、すべてのインスタンスとzipアーカイブが、Artifactレジストリ内の関連するビルドアーティファクトとともにクリーンアップされます。関数とイベントプロバイダー間の接続が削除されます。
バックグラウンド関数を使用してイベントをリッスンすることに加えて、HTTPリクエストまたはクライアントからの呼び出しを使用して関数を直接呼び出すことができます。
実装パス
クラウド機能を設定する | Firebase CLIをインストールし、FirebaseプロジェクトでCloudFunctionsを初期化します。 | |
関数を書く | Firebaseサービス、Google Cloudサービス、またはその他のイベントプロバイダーからのイベントを処理するためのJavaScriptコード(または展開時にトランスパイルするTypeScriptコード)を記述します。 | |
テスト機能 | ローカルエミュレータを使用して、機能をテストします。 | |
展開と監視 | プロジェクトの課金を有効にし、FirebaseCLIを使用して機能をデプロイします。 Google Cloud Consoleを使用して、ログを表示および検索できます。 |
次のステップ
- 関数の設定、作成、および展開を開始します。
- 関数で何ができるかについてもっと学びましょう。
- CloudFunctionsコードラボをお試しください。