jes*_*jes 3 firebase google-cloud-functions
我正在按照其网站上列出的说明将我的 firebase 函数版本从测试版迁移到最近发布的 v1:https : //firebase.google.com/docs/functions/beta-v1-diff
我失败的具体部分被描述为:
functions.config().firebase已被删除。如果您想从 Firebase 项目访问配置值,请改用 process.env.FIREBASE_CONFIG:
let firebaseConfig = JSON.parse(process.env.FIREBASE_CONFIG);
/* { databaseURL: 'https://databaseName.firebaseio.com',
storageBucket: 'projectId.appspot.com',
projectId: 'projectId' }
*/
Run Code Online (Sandbox Code Playgroud)
所以我更新了我的版本以及我的代码,现在收到以下内容:
TypeError: Cannot read property 'key' of undefined
at Object.<anonymous> (functions\index.js:25:72)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at \npm\node_modules\firebase-tools\lib\triggerParser.js:21:11
at Object.<anonymous> (\npm\node_modules\firebase-tools\lib\triggerParser.js:61:3)
Run Code Online (Sandbox Code Playgroud)
它所指的属性“key”是我的配置对象上的一个属性,我试图通过执行以下操作来访问它:
let firebaseConfig = JSON.parse(process.env.FIREBASE_CONFIG);
// let firebaseConfig = functions.config().firebase;
const SENDGRID_API_KEY = encodeURIComponent(firebaseConfig.sendgrid.key);
Run Code Online (Sandbox Code Playgroud)
当我跑
firebase functions:config:get
Run Code Online (Sandbox Code Playgroud)
它显示我的配置为现有:
{
"gmail": {
"password": "pwdValue",
"email": "emailvalue"
},
"sendgrid": {
"key": "keyvalue"
}
}
Run Code Online (Sandbox Code Playgroud)
我还仔细检查了 .runtimeconfig.json 文件,它与该命令返回的内容完全相同。
听起来您误解了 v1 中发生的更改。更改是firebase.config().firebase不再使用,而是支持 Firebase SDK 通过process.env.FIREBASE_CONFIG.
这并不意味着它firebase.config()已经消失了。您仍然使用您自己的配置值,你设置firebase functions:config:get 正是像你V1以前那样。
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |