【问题标题】:Programmatically add application setting to azure functions以编程方式将应用程序设置添加到 azure 函数
【发布时间】:2019-09-13 02:48:09
【问题描述】:

我需要以编程方式将新的应用程序设置添加到 azure 函数,而无需在每次引入新设置时从 azure 门户手动添加。是否有任何 nuget 包或一些工具可以用来自动执行此操作?

我们的想法是,当我们从一个环境部署到另一个环境时,可以自动执行此过程,而无需手动执行此操作。

提前致谢。

【问题讨论】:

    标签: azure .net-core azure-functions automated-deployment azure-application-settings


    【解决方案1】:

    使用包含在包Microsoft.Extensions.Configuration 中的.Net 核心配置管理样式。 local.settings.json 文件不会发布到 Azure,而是 Azure 将从与函数关联的应用程序设置中获取设置。

    在您的函数中添加Microsoft.Azure.WebJobs.ExecutionContext 上下文类型的参数,然后您可以在其中构建IConfigurationRoot 提供程序:示例:

    [FunctionName("Stackoverflow")]
    public static async Task Run([TimerTrigger("0 */15 * * * *")]TimerInfo myTimer,
        TraceWriter log, ExecutionContext context, 
        CancellationToken ctx)
    {
       var config = new ConfigurationBuilder()
            .SetBasePath(context.FunctionAppDirectory)
            .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
            .AddEnvironmentVariables()
            .Build();
    
        // This abstracts away the .json and app settings duality
        var myValue = config["MyKey"];
    }
    

    部署到 Azure 后,您可以更改功能应用程序设置上的设置值。

    【讨论】:

    • 根本不回答问题。
    【解决方案2】:

    听起来您只是想要一个工具来添加或更新应用程序设置,而无需通过门户手动执行?我推荐azure cli 作为一个不错的选择。通过ARM template 也可以。我们经常看到用户将这些选项与 Azure DevOps 等工具结合使用来自动化和管理多个环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多