VSCode 部署 Azure 云函数如何配置本地环境变量

文章导读
在 VS Code 中开发 Azure 函数时,本地环境变量通过项目根目录下的 local.settings.json 文件管理,部署到云端则需要将配置同步至应用设置。两者默认隔离,不会自动同步。
📋 目录
  1. 本地配置文件结构
  2. 同步配置到云端
  3. 验证配置生效
  4. 常见风险与排查
A A

在 VS Code 中开发 Azure 函数时,本地环境变量通过项目根目录下的 local.settings.json 文件管理,部署到云端则需要将配置同步至应用设置。两者默认隔离,不会自动同步。

先说结论:本地调试依赖 local.settings.json,云端运行依赖应用设置,需手动触发同步。

  • 适合:本地调试与云端部署混合开发场景
  • 先准备:确认项目根目录存在 local.settings.json 且已忽略提交
  • 验收:本地 func start 正常且云端应用设置已更新

本地配置文件结构

本地配置文件标准结构如下,直接放在项目根目录。注意 IsEncrypted 通常为 false,敏感信息建议加密或使用密钥 vault。

VSCode 部署 Azure 云函数如何配置本地环境变量
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "MY_CUSTOM_KEY": "my_value"
  }
}

安全警告:务必确保 .gitignore 中包含 local.settings.json,避免密钥泄露到代码仓库。

同步配置到云端

本地配置不会随代码自动发布,需通过以下任一方法手动同步到 Azure 门户的应用设置中。

VSCode 部署 Azure 云函数如何配置本地环境变量

方法一:VS Code 命令面板

  1. 按下 Ctrl+Shift+P 打开命令面板。
  2. 输入并选择 Azure Functions: Upload Local Settings
  3. 选择目标函数应用,确认上传。此操作会将 Values 中的键值对推送至云端应用设置。

方法二:CLI 命令行

若使用 Azure Functions Core Tools,可通过命令直接发布并同步配置:

VSCode 部署 Azure 云函数如何配置本地环境变量
func azure functionapp publish <FunctionAppName> `--publish-local-settings`

注意:生产环境建议审查后再上传,避免本地测试配置覆盖生产敏感配置。

验证配置生效

本地验证

运行 func start,观察终端日志。若配置读取成功,通常不会有报错,且函数触发正常。可在代码中打印环境变量确认:

console.log(process.env.MY_CUSTOM_KEY);

云端验证

  1. 登录 Azure 门户,进入函数应用。
  2. 左侧菜单选择“配置” (Configuration)。
  3. 在“应用设置” (Application settings) 列表中检查是否存在对应的键名。
  4. 查看函数日志 (Logs),确认无缺少环境变量的报错。

常见风险与排查

  • 密钥泄露:local.settings.json 误提交至 Git。解决:立即轮换密钥,并在 .gitignore 中追加该文件。
  • 配置未同步:部署代码后云端报错缺少变量。解决:检查是否执行了上传配置步骤,CLI 需加 `--publish-local-settings` 参数。
  • 键名不一致:代码读取名称与配置名称大小写不一致。解决:环境变量在大多数运行时区分大小写,请严格匹配。
  • 特殊字符问题:配置值包含特殊字符可能导致解析错误。解决:尝试使用引号包裹或进行 URL 编码。