Я запланировал запуск этой функции два раза в неделю, и у меня есть настройка приложения (настроенная локально в моем файле local. settings.json и онлайн в настройках приложения Azure), который содержит дату последней проверки. Я зачитал это значение конфигурации, чтобы узнать, как далеко мне нужно проверить. Это прекрасно работает.
Теперь моя идея такова: когда я запущу проверку сегодня, я хотел бы обновить этот параметр конфигурации, чтобы на моем при следующем запуске я снова знаю, как далеко назад нужно проверить. Но это оказалось более сложной задачей, чем я думал...
Это скелет моей функции Azure, считывающей настройку «дата последней проверки»:program.cs:
Код: Выделить всё
var host = new HostBuilder()
.ConfigureFunctionsWebApplication()
.ConfigureServices(services =>
{
services.AddApplicationInsightsTelemetryWorkerService();
services.ConfigureFunctionsApplicationInsights();
})
.Build();
host.Run();
Код: Выделить всё
public class MyFunction
{
private readonly IConfiguration _config;
public MyFunction(IConfiguration config)
{
_config = config;
}
[Function("MyFunction")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get")] HttpRequest req)
{
// get config
string lastCheckDate = _config.GetValue("LastCheckDate");
// actual function code follows here...
}
}
Код: Выделить всё
_config["LastCheckDate"] = DateTime.Today.ToString("yyyy-MM-dd");
Код: Выделить всё
Environment.SetEnvironmentVariable("LastCheckDate", DateTime.Today.ToString("yyyy-MM-dd"));
Есть идеи, как этого добиться?
Подробнее здесь: https://stackoverflow.com/questions/781 ... tions-code