我有一个 docker 托管的 firebase 模拟器,可以从 localhost:4000 访问
我不知道如何从 docker 外部的 dotnet 应用/集成测试 (firebase-admin-dotnet nuget) 访问 firebase 模拟器
Environment.SetEnvironmentVariable("FIRESTORE_EMULATOR_HOST", "127.0.0.1:8080");
Environment.SetEnvironmentVariable("FIREBASE_AUTH_EMULATOR_HOST", "127.0.0.1:9099");
Environment.SetEnvironmentVariable("PUBSUB_EMULATOR_HOST", "127.0.0.1:8085");
Environment.SetEnvironmentVariable("FUNCTIONS_EMULATOR_HOST", "127.0.0.1:5001");
Environment.SetEnvironmentVariable("GCLOUD_PROJECT", "test-project");
此实例在实例化时失败,因为缺少凭据
FirebaseApp.Create();
或者由于令牌无效而导致索取失败
FirebaseApp.Create(new AppOptions() { Credential = GoogleCredential.FromAccessToken("Bearer test") });
我在所有其他语言中看到了指定模拟器网址的方法,https://firebase.google.com/docs/emulator-suite但是使用的 dotnet 包缺乏功能,或者我是盲目的。
那么,有什么办法可以让这个东西发挥作用吗?
请确保使用安全密钥 JSON 文件路径设置环境变量 GOOGLE_APPLICATION_CREDENTIALS。示例
C#:
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "secured-service-account.json");