如何使用开放规则启动Firebase实时数据库仿真器?
我使用以下命令启动emulator:如何使用开放规则启动Firebase实时数据库仿真器?,firebase,firebase-realtime-database,google-cloud-functions,firebase-tools,Firebase,Firebase Realtime Database,Google Cloud Functions,Firebase Tools,我使用以下命令启动emulator: firebase仿真器:开始--project my_remote_project_id--仅数据库、函数--检查函数 当我转到区域设置控制台时(http://localhost:4001/database),我可以看到2个数据库: 我的\u远程\u项目\u id 假服务器 当我转到http://localhost:9000/.inspect/coverage?ns=my_remote_project_id,我可以看到这些规则适用于我的远程项目。 当我转
firebase仿真器:开始--project my_remote_project_id--仅数据库、函数--检查函数
当我转到区域设置控制台时(http://localhost:4001/database),我可以看到2个数据库:
- 我的\u远程\u项目\u id
- 假服务器
http://localhost:9000/.inspect/coverage?ns=my_remote_project_id
,我可以看到这些规则适用于我的远程项目。
当我转到http://localhost:9000/.inspect/coverage?ns=fake-服务器
,规则已打开:
{
"rules": {
".read": true,
".write": true
}
}
由于my_remote_project_id
数据库的规则,我无法导入要测试的json。我可以在假服务器
数据库上完成。
问题在于,云功能仅在my\u remote\u project\u id
one上触发,而在fake server
one上从未触发
我错过什么了吗
我使用admin.initializeApp()
启动应用程序,并导出export FIREBASE\u DATABASE\u EMULATOR\u HOST=“localhost:9000”
我总是可以从远程项目(开发环境)中删除规则,但这一点都不理想。要使您的模拟器能够使用不同的安全规则,您可以使用不同的文件。这样,您将有一个用于模拟器的文件和一个用于生产的文件,所以您不必在测试中担心
您可以通过在emulator的
firebase.json
规则中配置一组不同的规则来实现这一点。您可以找到有关如何执行此操作的更多信息。Hi@Nico您是否尝试使用其他文件作为仿真器的安全规则?如前所述,通过在firebase.json
@gso\u gabriel中配置它,您可以为emulator中使用的规则使用不同的文件。非常感谢,我错过了配置部分。请随意添加回复,我会将其标记为已接受的答案。您好@Nico很高兴听到它的帮助!我贴了一个答案:)