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

调用Google Cloud Function时构建环境变量未定义问题

Google Cloud Function 构建环境变量无法在运行时访问的问题解决

问题说明

我在Google Cloud Function中尝试调用构建环境变量,但始终返回undefined。打印整个process.env后,发现我的构建或运行时环境变量并未出现在输出中(我配置的构建环境变量包含OPENAI_API_KEY)。

云函数代码

const functions = require('@google-cloud/functions-framework');
const { OpenAI } = require("openai");

functions.http('sendToChat', async (req, res) => {
  console.log(process.env)
  const {messages, userPhone} = req.body;
  const openai = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY
  });
  const completion = await openai.chat.completions.create({
    model: "gpt-4o-mini",
    messages: messages,
  });

  res.send(completion.choices[0].message.content);
});

process.env 日志输出

{
  HOSTNAME: '<host-name>',
  LANGUAGE: 'en_US:en',
  PWD: '/workspace',
  FUNCTION_SIGNATURE_TYPE: 'cloudevent',
  PORT: '8080',
  CNB_STACK_ID: 'google.22',
  NODE_ENV: 'production',
  CNB_GROUP_ID: '<id>',
  HOME: '/home/cnb',
  LANG: 'en_US.UTF-8',
  SHLVL: '0',
  CNB_USER_ID: '1000',
  LD_LIBRARY_PATH: '/layers/google.nodejs.runtime/node/lib',
  LC_ALL: 'en_US.UTF-8',
  PATH: '<path>',
  FUNCTION_TARGET: 'sendToChat',
  _: 'node_modules/.bin/functions-framework'
}

解决方法

  • 区分构建与运行时环境变量:Google Cloud Function的构建环境变量仅在代码构建阶段(如安装依赖、编译代码)可用,运行时不会自动继承这些变量。你需要设置的是运行时环境变量,而非构建环境变量。
  • 配置运行时环境变量步骤:
    1. 进入Google Cloud Console的目标云函数详情页
    2. 切换到「环境变量、网络和配置」标签页
    3. 在「运行时环境变量」区域添加OPENAI_API_KEY及对应值
    4. 重新部署云函数
  • 验证生效:重新部署后触发函数,检查process.env日志,确认OPENAI_API_KEY已出现在输出中。

如果确实需要在构建阶段和运行时同时使用该变量,可通过cloudbuild.yaml配置将构建变量传递到运行时,但绝大多数场景下直接设置运行时环境变量即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:44:57