从Azure功能读取设置

adv*_*api 19 azure azure-functions

我是Azure的新功能...我已经创建了一个新的计时器功能(将每30分钟触发一次),它必须对网址执行查询,然后在缓冲区上推送数据.

我弄完了

public static void Run(TimerInfo myTimer, TraceWriter log)
{


 var s = CloudConfigurationManager.GetSetting("url");

 log.Info(s);

}
Run Code Online (Sandbox Code Playgroud)

在我的功能设置中,我已经

在此输入图像描述

我究竟做错了什么?谢谢

Pit*_*att 54

请注意,对于Azure Functions v2,这不再适用.以下内容来自Jon Gallant的博客:

对于Azure Functions v2,不支持ConfigurationManager,您必须使用ASP.NET Core Configuration系统:

  1. 包括以下using语句:

    using Microsoft.Extensions.Configuration;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 包含ExecutionContext作为参数

    public static void Run(InboundMessage inboundMessage, 
        TraceWriter log,
        out string outboundMessage, 
        ExecutionContext context)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 获得IConfiguration

    var config = new ConfigurationBuilder()
        .SetBasePath(context.FunctionAppDirectory)
        .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
        .AddEnvironmentVariables()
        .Build();
    
    Run Code Online (Sandbox Code Playgroud)
  4. 并使用它来引用AppSettings键

    var password = config["password"]
    
    Run Code Online (Sandbox Code Playgroud)

在本地调试时,它从local.settings.json"Values"关键字下获取设置.在Azure中运行时,它从"应用程序设置"选项卡中获取设置.

  • 感谢您提供此答案,这应该是每个V2要求都接受的答案。要注意的一件事是,除了“ Microsoft.Extensions.Configuration”之外,您还需要“ Microsoft.Extensions.Configuration.Json”和“ Microsoft.Extensions.Configuration.FileExtensions”才能起作用。它们不是主软件包的依赖项,因此您需要使用NuGet单独安装它们。 (2认同)

juu*_*nas 15

您需要转到平台功能 - >应用程序设置并将其添加到那里.

应用程序设置

设置

App settings下添加设置.


读取设置可以先在顶部添加:

using System.Configuration;
Run Code Online (Sandbox Code Playgroud)

然后阅读设置:

string setting = ConfigurationManager.AppSettings["url"];
Run Code Online (Sandbox Code Playgroud)

url你的设置键在哪里?该setting变量将包含您的设定值.

  • 请注意,在开发期间,您需要在`local.settings.json`中设置这些配置值. (3认同)

DSp*_*rit 15

你可以System.Environment.GetEnvironmentVariable像这样使用:

var value = Environment.GetEnvironmentVariable("your_key_here")
Run Code Online (Sandbox Code Playgroud)

只要您在本地或Azure上工作,就会获得这些设置.


归档时间:

查看次数:

14109 次

最近记录:

6 年,3 月 前