如何使用开放规则启动Firebase实时数据库仿真器?

如何使用开放规则启动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,我可以看到这些规则适用于我的远程项目。 当我转

我使用以下命令启动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
,我可以看到这些规则适用于我的远程项目。 当我转到
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很高兴听到它的帮助!我贴了一个答案:)