Firebase函数:config:设置静默丢弃值吗?

时间:2018-09-18 00:08:13

标签: firebase google-cloud-functions firebase-cli

只需尝试一下:

firebase functions:config:set  firebase.webapikey="XXXXX"

Error: Cannot set to reserved namespace firebase

错误已清除。所以我尝试了这个:

firebase functions:config:set firebaseapis.web="XXXX"
✔  Functions config updated.

Please deploy your functions for the change to take effect by running firebase deploy --only functions

很好,没有错误。但是:

carlos@carlos-linux-dev:~/firestore_experiments$ firebase functions:config:get |grep firebase
carlos@carlos-linux-dev:~/firestore_experiments$ 

因此该密钥实际上并未存储。但是,如果将其更改为其他内容:

dev:~/firestore_experiments$firebase functions:config:set pithole.web="XXXX"
✔  Functions config updated.

Please deploy your functions for the change to take effect by running firebase deploy --only functions

carlos@carlos-linux-dev:~/firestore_experiments$ firebase functions:config:get |grep pithole
"pithole": {

我在文档中找不到与此相关的任何参考,似乎是一个错误……这实际上是预期的行为吗?

更重要的是,Web API是否可以自动用于Firebase项目?是否确实需要从控制台复制/粘贴某些内容?

2 个答案:

答案 0 :(得分:1)

有一个内部错误,阻止以字符串“ firebase”开头的配置参数名称正常工作,就像您在第二个示例中遇到的那样。 (firebaseapi.web仍以“ firebase”开头)。以任何其他8个字符开头,应该没问题。

答案 1 :(得分:0)

更重要的是,Web API是否可以自动用于Firebase项目,还是确实需要从控制台复制/粘贴的东西?

我一直在寻找实现这一目标的方法,但到目前为止还没有成功。

process.env.FIREBASE_CONFIG处有一个可供云函数使用的环境变量,但这不包含API密钥,仅包含以下属性:

{
  "projectId":"[project-name]",
  "databaseURL":"https://[project-name].firebaseio.com",
  "storageBucket":"[project-name].appspot.com",
  "locationId":"europe-west"
}