📑
Cloud Runから複数のFirebaseプロジェクトに接続する
TL;DR
-
Cloud Runのサービスアカウントに各Firebaseプロジェクトの適切な権限を付与する
-
アプリケーションコードにて各プロジェクト毎にFirebase Appのインスタンスを作成する
python: 3.11
firebase-admin: 5.2.0
import firebase_admin
project_a = firebase_admin.initialize_app(
name="project_a", options={"projectId": "poject_a"}
)
project_b = firebase_admin.initialize_app(
name="project_b", options={"projectId": "poject_b"}
)
- リソース操作時にappパラメータに対象のFirebase Appインスタンスを指定する
from firebase_admin import auth
project_a_users = auth.list_users(app=project_a)
project_b_users = auth.list_users(app=project_b)
説明
firebase_admin.initalzie_app
のoptions
パラメータ内でprojectId
を明示的に指定する必要があるらしい(この辺のSDKの実装を見ないと気づかなかった)
参考
Discussion