如何禁用 Firebase 存储模拟器?
How to disable Firebase Storage emulator?
当我启动模拟器时,存储模拟器启动并在 localhost:9199.
可用
然后我使用 node.js 中的管理 SDK 访问存储:
serviceAccountKey = require('./serviceAccountKey.json');
const config = {
credential: admin.credential.cert(serviceAccountKey),
};
const adminApp = admin.initializeApp(config);
const storage = adminApp.storage();
现在存储指向模拟器,而不是像之前这个模拟器实现的真正的服务。
我怎样才能获得真正的服务?
我已尝试设置 projectId 和环境变量 here,但它不起作用。
运行 firebase emulators:start
将以模拟状态启动所有服务。如果你想与生产服务对话,你可以 运行 firebase serve
、 或 如果你想要模拟一些服务而不是存储,你可以 运行 firebase serve --only {services,to,emulate}
(例如,firebase serve --only functions,hosting
。这将模拟功能和托管,但对存储(或身份验证或其他非模拟服务)的任何调用都会与实时 Firebase 环境对话。
好的,所以方法就是从命令行启动除 storage 之外的所有服务,而不是从 firebase.json,这样:
firebase emulators:start --only hosting,functions,firestore,auth,ui
当我启动模拟器时,存储模拟器启动并在 localhost:9199.
可用
然后我使用 node.js 中的管理 SDK 访问存储:
serviceAccountKey = require('./serviceAccountKey.json');
const config = {
credential: admin.credential.cert(serviceAccountKey),
};
const adminApp = admin.initializeApp(config);
const storage = adminApp.storage();
现在存储指向模拟器,而不是像之前这个模拟器实现的真正的服务。
我怎样才能获得真正的服务?
我已尝试设置 projectId 和环境变量 here,但它不起作用。
运行 firebase emulators:start
将以模拟状态启动所有服务。如果你想与生产服务对话,你可以 运行 firebase serve
、 或 如果你想要模拟一些服务而不是存储,你可以 运行 firebase serve --only {services,to,emulate}
(例如,firebase serve --only functions,hosting
。这将模拟功能和托管,但对存储(或身份验证或其他非模拟服务)的任何调用都会与实时 Firebase 环境对话。
好的,所以方法就是从命令行启动除 storage 之外的所有服务,而不是从 firebase.json,这样:
firebase emulators:start --only hosting,functions,firestore,auth,ui