【发布时间】:2019-07-05 22:09:42
【问题描述】:
我正在尝试向 azure 函数添加环境变量,有“local.settings.json”,但它仅用于本地开发,尽管文档没有提供任何关于如何设置设置的线索正在生产中。
任何有关环境变量的文档都只解释了如何读取环境变量,但我希望编写一个环境变量...
如果不存在这样的文件选项,是否可以使用 AZ cli 设置环境变量?
【问题讨论】:
标签: azure azure-functions
我正在尝试向 azure 函数添加环境变量,有“local.settings.json”,但它仅用于本地开发,尽管文档没有提供任何关于如何设置设置的线索正在生产中。
任何有关环境变量的文档都只解释了如何读取环境变量,但我希望编写一个环境变量...
如果不存在这样的文件选项,是否可以使用 AZ cli 设置环境变量?
【问题讨论】:
标签: azure azure-functions
有多种选择,这在一定程度上取决于您将函数部署到 Azure 的方式。
az functionapp config appsettings set [--ids]
[--name]
[--resource-group]
[--settings]
[--slot]
[--slot-settings]
[--subscription]
-settings 参数包含空格分隔的name=value 对。
这会将您的函数应用(包括您的本地设置)发布到云端:
func azure functionapp publish <FunctionAppName> --publish-local-settings
这只会将您的本地设置发布到云中的函数应用:
func azure functionapp publish <FunctionAppName> --publish-settings-only
见https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local#project-file-deployment
如果您将 Azure DevOps 与 Release Pipelines 一起使用,Azure Function App 任务使用起来很方便:
在任务的appSettings 参数中以空格分隔的-key value 对的形式提供设置。
正如 Matt 所述,您也可以通过 配置 -> 应用程序设置 使用 Azure 门户添加/更新,但如果您正在执行自动部署(您应该这样做;),我建议您不要这样做。
【讨论】:
要将等效设置添加到 Azure,您需要在配置下创建设置:
Azure Functions 的设置在 Azure 中的工作方式存在一些问题/不一致,请参阅this github issue 了解更多信息,例如,如果您尝试将连接字符串与 GetEnvironmentVariable 一起使用,您实际上需要将其作为Azure 中的正常设置,例如:
【讨论】: