Чтение настроек из функции Azure

Я новичок в функции Azure... Я создал новую функцию таймера (будет запускаться каждые 30 минут), и она должна выполнить запрос по URL-адресу, а затем отправить данные в буфер..

Я сделал

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


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

 log.Info(s);

}

И в настройках моей функции у меня есть

enter image description here

Что я делаю неправильно? Спасибо

Ответ 1

Вы можете использовать System.Environment.GetEnvironmentVariable следующим образом:

var value = Environment.GetEnvironmentVariable("your_key_here")

Он получает настройки, когда вы работаете локально или в Azure.

Ответ 2

Обратите внимание, что для функций Azure v2 это больше не так. Следующее из блога Джона Галланта:

Для функций Azure v2 ConfigurationManager не поддерживается, и вы должны использовать систему базовой конфигурации ASP.NET:

  1. Включить следующее утверждение:

    using Microsoft.Extensions.Configuration;
    
  2. Включить ExecutionContext в качестве параметра

    public static void Run(InboundMessage inboundMessage, 
        TraceWriter log,
        out string outboundMessage, 
        ExecutionContext context)
    
  3. Получить IConfiguration Root

    var config = new ConfigurationBuilder()
        .SetBasePath(context.FunctionAppDirectory)
        .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
        .AddEnvironmentVariables()
        .Build();
    
  4. И используйте его для ссылки на ключи AppSettings

    var password = config["password"]
    

При локальной отладке он получает настройки из local.settings.json под ключевым словом "Значения". При запуске в Azure он получает настройки на вкладке "Настройки приложения".

Ответ 3

Вам нужно перейти к функциям платформы → Настройки приложения и добавить его туда.

Application settings

Settings

Добавьте настройку в настройках приложения.


Чтение настроек можно сделать, предварительно добавив это вверху:

using System.Configuration;

Затем прочитайте настройку с помощью:

string setting = ConfigurationManager.AppSettings["url"];

Где url - ваш ключ настройки. Переменная setting будет содержать ваше значение настройки.