从Cloud Functions转Firebase Functions:如何在firebase.json中配置密钥?
在Firebase Functions中配置Secret Manager密钥(从Google Cloud Functions迁移)
你需要按照字符串数组的格式在firebase.json中配置Secret Manager的密钥引用,而非对象格式,具体配置方式如下:
- 在
firebase.json的functions节点下,找到frameworksBackend字段(对应schema中的frameworkBackendOptions),添加secrets数组,每个元素采用"环境变量名=Secret Manager路径"的字符串格式,和你之前使用gcloud functions deploy --set-secrets的参数格式完全一致。
示例配置代码:
{ "functions": { "source": "functions", "frameworksBackend": { "secrets": [ "MY_SECRET=projects/你的项目ID/secrets/你的密钥名称/versions/latest", "ANOTHER_SECRET=projects/你的项目ID/secrets/另一密钥名称/versions/1" ] } } }
关键说明:
- 每个数组元素的格式必须是
KEY_NAME=secret-path,这是符合schema要求的唯一有效格式 - 数组中的每一项对应一个要注入函数的密钥环境变量
- 部署完成后,Firebase CLI会自动将这些Secret Manager中的密钥挂载为函数的环境变量,你可以在代码中通过
process.env.MY_SECRET直接访问对应密钥值
你之前尝试的对象格式(如{"MY_SECRET": "密钥路径"})不符合schema定义,无法被Firebase CLI识别,必须使用字符串数组形式。
内容的提问来源于stack exchange,提问作者Abass Tope
相关产品推荐
相关产品推荐

