设置 Firebase 本地模拟器云功能环境配置值
Posted
技术标签:
【中文标题】设置 Firebase 本地模拟器云功能环境配置值【英文标题】:Set Firebase local emulator cloud function environment config values 【发布时间】:2019-07-08 10:45:50 【问题描述】:更新云函数环境变量时,使用本地 node.js 模拟器时无法访问配置值。
在没有环境配置变量的项目上:
设置新值firebase functions:config:set x=true
获取配置变量firebase functions:config:get
(显示新值)
部署函数firebase deploy --only functions
运行本地模拟器并注销functions.config
输出:
(空对象)
environment config docs 中没有提及,但我假设可以在本地(或本地替代)使用相同的环境配置?
【问题讨论】:
【参考方案1】:答案在local emulator documentation。
注意:您可以检索您的生产自定义配置变量 模拟功能时。但是,在使用生产时要小心 在 API 调用、电子邮件等的本地测试中配置值。
要使用配置变量,请在函数中运行以下命令 运行 firebase serve 之前的目录。
MacOS
firebase functions:config:get > .runtimeconfig.json
Windows
firebase functions:config:get | ac .runtimeconfig.json
【讨论】:
警告:由于 JSON 之前存在不可见字符的问题,上述命令不适用于 Windows Powershell。如果使用 Powershell,请改用firebase functions:config:get | ac .runtimeconfig.json
。
另外,.runtimeconfig.json
必须在函数文件夹中。
此文档已被重新编写。不确定这里提出的解决方案是否真的解决了最初的问题,但不幸的是现在它肯定不再这样做了。
将其放入功能文件夹后为我工作。 @twiz 文件内容是您之前使用 functions:config:set 设置到您的云实例的任何值。它只是一个 js 对象的 json。例如 "key": 123
如果.runtimeconfig.json
包含敏感密钥,请注意将.runtimeconfig.json
从部署中排除在firebase.json > functions > ignore
和.gitignore
中。 .runtimeconfig.json
记录在这里:firebase.google.com/docs/functions/…以上是关于设置 Firebase 本地模拟器云功能环境配置值的主要内容,如果未能解决你的问题,请参考以下文章
访问 Cloud Functions Firebase CLI 本地模拟器中的配置变量失败
CORS 阻止访问资源:如何在 Firebase 云功能中修复?
如何使用用于 JS 开发的 firebase Emulator 设置 firebase firestore 和云功能测试套件
如何使用 pubsub 模拟器在本地调用 firebase Schedule 函数