У меня есть функция Azure (построенная в Visual Studio 2019 и работающая в стеке .NET Core 3.x в Azure), которая должна запускаться по таймеру для запуска, например. один раз за ночь.
Я могу легко создать функцию и определить расписание как выражение NCRONTAB следующим образом:
[FunctionName("MyFunctionName")]
public void Run([TimerTrigger("0 15 3 * * 1-5")]TimerInfo myTimer, ILogger log)
{
// Azure function code here ....
}
Работает как шарм - НО я хотел бы иметь возможность определять расписание на портале Azure, а не в моем коде функции, для обработки, например, DEV vs. TEST vs. PROD ситуации. На платформах DEV и TEST я, возможно, захочу запускать это несколько раз в день - в производственной среде может быть только один раз в неделю.
Но при таком подходе, когда расписание установлено - оно установлено, я не могу изменить его на портале Azure (все поля ввода неактивны / редактирование отключено).
Я надеялся, что смогу просто пропустить выражение NCRONTAB в объявлении моей функции Azure - вот так:
[FunctionName("MyFunctionName")]
public void Run([TimerTrigger()]TimerInfo myTimer, ILogger log)
{
// Azure function code here ....
}
а затем укажите фактическое выражение CRON на портале Azure - но не вперед, выражение CRON является обязательным ....
Так я слишком многого прошу здесь? Или есть способ запланировать это вне моей фактической базы кода?