You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Cloud Functions v1环境变量获取/设置及v1.0.2升级问题咨询

Cloud Functions v1.0.2+ 自定义环境变量的正确处理方式

你遇到的这个情况其实是Cloud Functions升级到v1.x版本后,配置逻辑发生了变化导致的——process.env.FIREBASE_CONFIG现在只包含项目的基础核心配置(比如项目ID、存储桶地址、数据库URL这些),不再包含你通过旧方式设置的自定义环境变量了。下面给你讲清楚新的设置和获取方法:

一、设置自定义环境变量

现在需要通过Firebase CLI的专门命令来配置,格式如下:

firebase functions:config:set 命名空间.变量名="变量值"

比如你要设置一个第三方API的密钥,可以这么写:

firebase functions:config:set api.openai_key="sk-xxxxxx"

如果要一次性设置多个变量,也可以合并命令:

firebase functions:config:set api.openai_key="sk-xxxxxx" db.connection_string="mongodb://xxx"

二、在代码中获取自定义变量

依然使用functions.config()来访问,对应你设置的命名空间和变量名即可:

const functions = require('firebase-functions');

// 获取刚才设置的OpenAI密钥
const openaiKey = functions.config().api.openai_key;
// 获取数据库连接字符串
const dbConnStr = functions.config().db.connection_string;

三、本地开发的注意事项

如果你在本地调试Functions,直接调用functions.config()会拿不到配置,这时候需要先把云端的配置导出到本地的.runtimeconfig.json文件:

firebase functions:config:get > .runtimeconfig.json

这个文件会被自动加载,本地调试时就能正常访问自定义变量了。

四、为什么JSON.parse(process.env.FIREBASE_CONFIG)拿不到自定义变量?

这个环境变量现在仅用于提供项目的基础配置,内容大概是这样的:

{
  "projectId": "your-project-id",
  "storageBucket": "your-project.appspot.com",
  "databaseURL": "https://your-project.firebaseio.com",
  "locationId": "us-central1"
}

确实不包含任何你自定义的配置项,所以别再从这里找啦,老老实实用functions.config()就对了。

部署时的小提醒

当你执行firebase deploy --only functions时,之前设置的自定义配置会自动同步到云端,不需要额外操作,部署后的函数就能直接访问这些变量了。

内容的提问来源于stack exchange,提问作者william

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:26:38