【发布时间】:2021-11-19 02:47:19
【问题描述】:
我希望从技术上了解如何运行我的 go 服务器 go run main.go
我能够连接到我的本地 Firestore 模拟器(假设模拟器正在运行)
究竟是如何建立连接的?
问是因为我一直认为这是理所当然的,而昨天声称无法找到我的 GAE 凭据却无法正常工作。
我跑了:gcloud auth application-default login,在我运行我的服务器后,我发现我正在将信息写入我的 PRODUCTION 数据库......
编辑:感谢 Cerise 的回答。
我忘了提到我的计算机重新启动并且我丢失了FIREBASE_EMULATOR_HOST 环境的设置(导出)。因此,它默认为 prod 端点。我不知道,我只是“登录”到我的 google auth sdk .. 这导致凭据用于 prod 数据库。再次设置变量后,我连接到模拟器。
如果其他人也遇到这种情况,我最终在我的代码中添加了一个简单的检查(我已经区分了我是在本地机器还是在我的 GAE 服务器中运行)
if os.Getenv("FIRESTORE_EMULATOR_HOST") == "" { log.Fatalf("FIRESTORE_EMULATOR_HOST not set and attempting to run in dev mode.") }
【问题讨论】:
标签: firebase go google-app-engine google-cloud-firestore