为 Nodejs 项目设置 Azure 函数环境变量

Posted

技术标签:

【中文标题】为 Nodejs 项目设置 Azure 函数环境变量【英文标题】:set Azure Function Environment Variable for Nodejs Project 【发布时间】:2019-12-14 16:58:08 【问题描述】:

如何为开发和生产就绪代码设置 Azure 函数环境变量?

ExpressJS已经提供环境配置文件,如何设置Azure函数环境变量?

【问题讨论】:

【参考方案1】:

Azure Functions 为我们提供了一个 local.settings.json 文件,我们可以在其中定义这些变量。


  "IsEncrypted": false,
  "Values": 
    "FOO": "-- Your Value --",
  

您可以使用process.env["FOO"]从您的代码中访问它

参考官方docs

如果您想在部署后设置设置,请在发布功能时在发布期间使用--publish-local-settings -i 开关。

Docs for publish

【讨论】:

感谢您的回复。本地工作正常,但我想在部署 azure 函数时设置相同的 local.settings.json 文件设置。有什么方法请指导我,谢谢 非常感谢@HariHaran,这对我很有帮助。还请添加一些使用 azure function Nodejs 进行生产相关配置的提示。【参考方案2】:

对于开发,您可以在 local.settings.json 中添加变量:


  "IsEncrypted": false,
  "Values": 
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",

    "host": "localhost",
  

并与它一起使用:

process.env["host"]

对于生产,您可以在以下位置添加应用程序的配置:

这将覆盖 local.settings.json

中的变量

【讨论】:

注意:对于 localhost 开发,您需要重新启动函数以获取 env var 更改。

以上是关于为 Nodejs 项目设置 Azure 函数环境变量的主要内容,如果未能解决你的问题,请参考以下文章

将连接字符串设置为Azure函数中的应用设置/环境变量

Azure 静态 Web 应用 NodeJS 环境变量

Azure 函数和 Azure 存储 - 实体已存在 - nodeJS

Azure 搜索语言分析器和变音符号

如何从 Azure 函数内部发出基于承诺的 HTTP 发布请求 (NodeJS)?

Azure 深入浅出[2] --- App Service的部署并查看应用Log