我有一个 Azure 函数(内置于 Visual Studio 2019,并在 Azure 的 .NET Core 3.x 堆栈上运行),它应该由计时器触发,例如每晚运行一次。
我可以轻松地创建函数并将计划定义为 NCRONTAB 表达式,如下所示:
[FunctionName("MyFunctionName")]
public void Run([TimerTrigger("0 15 3 * * 1-5")]TimerInfo myTimer, ILogger log)
{
// Azure function code here ....
}
像魅力一样工作 -但我希望能够在 Azure 门户中定义计划 - 而不是在我的函数代码中 - 以处理例如 DEV、TEST 和 PROD 情况。在 DEV 和 TEST 平台上,我可能想每天运行几次——在生产中可能每周只运行一次。
但是使用这种方法,一旦设置了时间表 - 设置了,我就无法在 Azure 门户中更改它(所有输入字段都变灰/编辑被禁用)。
我希望我可以在我的 Azure 函数声明中跳过 NCRONTAB 表达式 - 就像这样:
[FunctionName("MyFunctionName")]
public void Run([TimerTrigger()]TimerInfo myTimer, ILogger log)
{
// Azure function code here ....
}
然后在 Azure 门户中指定实际的 CRON 表达式 - 但不行,CRON 表达式是强制性的......
所以我在这里要求太多了吗?或者有没有办法在我的实际代码库之外安排这个?