インストールした Firebase Extensions の管理

拡張機能のインストールや管理を行うには、オーナーまたは編集者、あるいは Firebase 管理者のいずれかのロールが割り当てられている必要があります。

プロジェクトにインストールされている拡張機能インスタンスを一覧表示する

インストールした拡張機能のすべてのインスタンスを一覧表示できます。

拡張機能リストコマンドを実行します。

firebase ext:list --project=projectId-or-alias

インストールされている拡張機能インスタンスをモニタリングする

Firebase コンソールでは、インストールされている拡張機能のアクティビティをモニタリングできます(正常性、使用状況、ログの確認など)。

予算アラートの設定

予算アラートの設定は、一般的に推奨されています。プロジェクトで他の関係者のコードを実行する場合は特に重要です。

Firebase プロジェクトの予算アラートを設定します。

拡張機能によって作成された関数の表示

  1. Firebase コンソールの Functions ダッシュボードに移動します。

  2. [ダッシュボード] タブに、Firebase Extensions の関数が表示されます(プロジェクト用にデプロイした他の関数も表示されます)。

    拡張機能によって作成された関数には、ext-extension-instance-id-functionName という形式の名前が付けられています。

    例: ext-awesome-task-simplifier-onUserCreate

拡張機能によって作成された Cloud Scheduler ジョブの表示

  1. Google Cloud Console でプロジェクトの [Cloud Scheduler] ページを開きます。

  2. ジョブリストに、Firebase Extensions の Cloud Scheduler ジョブが表示されます(プロジェクト用に作成した他のジョブも表示されます)。

    拡張機能によって作成されたジョブには、firebase-ext-extension-instance-id-functionName という形式の名前が付けられています。

    例: firebase-ext-awesome-task-simplifier-doTask

拡張機能によってキューに入れられた Cloud Tasks の表示と管理

拡張機能の中には、Cloud Tasks を使用して実行時間の長いタスクを実行するものがあります。最も一般的なのは、拡張機能のライフサイクルのさまざまな時点(インストール、再構成、アップグレード後)で実行される処理タスクです。

通常、これらのタスクは、ユーザーの操作を介さずに自動的に実行されて完了します。ただし、拡張機能のキューに入れられたタスクを手動で管理する必要がある場合(キューの一時停止や、開始前のタスクのキューからの削除など)は、次の手順を行います。

  1. Firebase コンソールの [拡張機能] セクションで、拡張機能インスタンスの詳細ページを開きます。

  2. 詳細ページで [API とリソース] セクションを開きます。この拡張機能で Cloud Tasks を使用している場合は、1 つ以上のエントリを含む [Cloud Tasks キュー] セクションが表示されます。

  3. 管理するキューの [キューを表示] をクリックします。Google Cloud コンソールの [キューの詳細] ページが開き、キューに入れられたタスクの表示、キューの一時停止、キューからのタスクの削除などを行うことができます。Cloud Tasks ドキュメントのキューとタスクの管理をご覧ください。

拡張機能によって作成された Cloud Secret Manager のシークレットの表示

  1. Google Cloud Console でプロジェクトの [Secret Manager] ページを開きます。

  2. シークレットのリストに、Firebase Extensions 用に作成されたシークレットが表示されます(このプロジェクト用に作成した他のシークレットも表示されます)。

    拡張機能によって作成されたシークレットには、ext-extension-instance-id-paramnName という形式の名前が付けられています。

    例: ext-awesome-task-simplifier-API_KEY

    シークレットにはキー firebase-extensions-managed のラベルが付けられています。Firebase によるシークレットの管理を停止する場合を除き、このラベルは削除しないでください。

インストールした拡張機能が正常かどうかの確認

コンソールで、関数(Firebase Extensions によって作成されたものを含む)で発生したすべてのエラーを確認できます。

  1. Functions ダッシュボードの [正常性] タブに、プロジェクト内のすべての関数のエラーとパフォーマンス情報の概要が表示されます。

  2. 特定の拡張機能の情報を表示するには、ページの上部にあるフィルタを使用して、関数を選択します。

インストールした拡張機能の実行頻度の確認

  1. Functions ダッシュボードの [ダッシュボード] タブで、確認する Firebase Extensions の特定の関数を見つけます。

  2. エントリの右端にある (オーバーフロー メニュー)をクリックし、[使用状況の詳細な統計情報] を選択します。

  3. 表示される Google Cloud Console で、関数のさまざまな呼び出しにドリルダウンできます。ソースコードを調べることもできます。

拡張機能のログの表示

プロジェクトをデバッグするときや、Firebase にバグレポートを送信するときは、プロジェクトで実行されている関数のログを表示すると便利です。

Functions ダッシュボードの [ログ] タブで、ページの上部にあるフィルタを使用して、拡張機能によって作成された関数を選択します。

インストールされている拡張機能インスタンスを最新バージョンに更新する

拡張機能のインストール済みインスタンスを最新のリリース バージョンに更新できます。インストール済みのインスタンスが、テスト、プロジェクト、アプリのワークフローでアクティブに実行または設定されているために、更新が必要になることがあります。

インスタンスを更新すると、新しいバージョンのソースコードとファイルを使用するように、インスタンスの拡張機能固有のリソースとロジックがすべて上書きされます。拡張機能のインスタンス ID とサービス アカウントは変更されません。

更新プロセス中に、新しいバージョンの変更点が通知され、新しいパラメータの値を指定できます。

  1. 拡張機能のマニフェスト内の拡張機能インスタンスを最新バージョンに更新するには、拡張機能の更新コマンドを実行します。

    firebase ext:update extensionInstanceId

    特定のバージョンに更新するには、更新するバージョンを指定します。

    firebase ext:update extensionInstanceId versionNumber
  2. 次に、マニフェスト内の拡張機能を Firebase プロジェクトにデプロイするために、次のコマンドを実行します。

    firebase deploy --only extensions --project=projectId-or-alias

インストールされている拡張機能インスタンスを再設定する

インストール済みの拡張機能インスタンスのユーザー設定パラメータの値を変更できます。これらの新しい値は、インスタンスの今後のトリガーで使用されます。拡張機能によってすでに作成されたアーティファクトや構造要素(保存された画像や既存の Storage バケットなど)は変更されません。

  1. 拡張機能のマニフェスト内の拡張機能をインタラクティブに再構成するには、拡張機能の構成コマンドを実行します。

    firebase ext:configure extensionInstanceId
  2. 次に、マニフェスト内の拡張機能を Firebase プロジェクトにデプロイするために、次のコマンドを実行します。

    firebase deploy --only extensions --project=projectId-or-alias

拡張機能インスタンスをアンインストールする

Firebase プロジェクトから拡張機能のインスタンスをアンインストールできます。この操作により、サービス アカウントと、その拡張機能のインスタンス用に作成されたすべてのリソース(関数のセットなど)が削除されます。ただし、以下は削除されません

  • 拡張機能によって作成されたアーティファクト(保存された画像など)。

  • データベース インスタンスや Cloud Storage バケットなど、プロジェクト内の他のリソース。このような他のリソースを拡張機能が操作していた場合でも、拡張機能固有ではないため、拡張機能をアンインストールしても削除されません。

拡張機能をアンインストールする方法は次のとおりです。

  1. 拡張機能のマニフェストから拡張機能インスタンスを削除するには、拡張機能のアンインストール コマンドを実行します。

    firebase ext:uninstall extensionInstanceId
  2. 次に、マニフェストに対する変更を Firebase プロジェクトにデプロイするために、次のコマンドを実行します。

    firebase deploy --only extensions --project=projectId-or-alias