【问题标题】:Azure functions settingsAzure 函数设置
【发布时间】:2019-07-05 22:09:42
【问题描述】:

我正在尝试向 azure 函数添加环境变量,有“local.settings.json”,但它仅用于本地开发,尽管文档没有提供任何关于如何设置设置的线索正在生产中。

任何有关环境变量的文档都只解释了如何读取环境变量,但我希望编写一个环境变量...

如果不存在这样的文件选项,是否可以使用 AZ cli 设置环境变量?

【问题讨论】:

    标签: azure azure-functions


    【解决方案1】:

    有多种选择,这在一定程度上取决于您将函数部署到 Azure 的方式。

    Azure CLI

    az functionapp config appsettings set [--ids]
                                          [--name]
                                          [--resource-group]
                                          [--settings]
                                          [--slot]
                                          [--slot-settings]
                                          [--subscription]
    

    -settings 参数包含空格分隔的name=value 对。

    更多信息:https://docs.microsoft.com/en-us/cli/azure/functionapp/config/appsettings?view=azure-cli-latest#az-functionapp-config-appsettings-set

    Azure 函数核心工具

    这会将您的函数应用(包括您的本地设置)发布到云端:

    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 开发运营

    如果您将 Azure DevOps 与 Release Pipelines 一起使用,Azure Function App 任务使用起来很方便:

    在任务的appSettings 参数中以空格分隔的-key value 对的形式提供设置。

    更多信息:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-function-app?view=azure-devops

    Azure 门户

    正如 Matt 所述,您也可以通过 配置 -> 应用程序设置 使用 Azure 门户添加/更新,但如果您正在执行自动部署(您应该这样做;),我建议您不要这样做。

    【讨论】:

    • 公平点,在那个阶段感觉这个问题并不完全,但碰巧我会推荐 ARM 模板而不是这些! ;)
    • 如果需要自定义不同的环境,还需要一些 Azure DevOps....
    • 这里的“设置”可以通过环境变量访问吗?这一点都不明显,文档也没有在任何地方提到它
    • @LironNavon 确实如此:它在文档中有点隐藏。查看C# .NETJavascript 的这些文档。
    • @Matt ARM 模板确实也是一个不错的选择。 OP 没有提供太多关于 CI/CD 的上下文,所以为什么不列出许多不同的可能性:)。
    【解决方案2】:

    要将等效设置添加到 Azure,您需要在配置下创建设置:

    Azure Functions 的设置在 Azure 中的工作方式存在一些问题/不一致,请参阅this github issue 了解更多信息,例如,如果您尝试将连接字符串与 GetEnvironmentVariable 一起使用,您实际上需要将其作为Azure 中的正常设置,例如:

    【讨论】:

    • 这些配置可以通过环境变量访问吗?它们不仅适用于 azure?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    相关资源
    最近更新 更多