Я новичок в функции 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:
Включить следующее утверждение:
using Microsoft.Extensions.Configuration;
Включить ExecutionContext в качестве параметра
public static void Run(InboundMessage inboundMessage,
TraceWriter log,
out string outboundMessage,
ExecutionContext context)
Получить IConfiguration
Root
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
И используйте его для ссылки на ключи AppSettings
var password = config["password"]
При локальной отладке он получает настройки из local.settings.json
под ключевым словом "Значения". При запуске в Azure он получает настройки на вкладке "Настройки приложения".
Ответ 3
Вам нужно перейти к функциям платформы → Настройки приложения и добавить его туда.
![Application settings]()
![Settings]()
Добавьте настройку в настройках приложения.
Чтение настроек можно сделать, предварительно добавив это вверху:
using System.Configuration;
Затем прочитайте настройку с помощью:
string setting = ConfigurationManager.AppSettings["url"];
Где url
- ваш ключ настройки. Переменная setting
будет содержать ваше значение настройки.