Azure functions 从Azure门户计划计时器触发的Azure功能

Azure functions 从Azure门户计划计时器触发的Azure功能,azure-functions,.net-core-3.1,timer-trigger,Azure Functions,.net Core 3.1,Timer Trigger,我有一个Azure功能(内置于Visual Studio 2019中,在Azure的.NET Core 3.x堆栈上运行),应该由计时器触发,例如每晚运行一次 我可以很容易地创建函数并将计划定义为NContab表达式,如下所示: [FunctionName("MyFunctionName")] public void Run([TimerTrigger("0 15 3 * * 1-5")]TimerInfo myTimer, ILogger log) {

我有一个Azure功能(内置于Visual Studio 2019中,在Azure的.NET Core 3.x堆栈上运行),应该由计时器触发,例如每晚运行一次

我可以很容易地创建函数并将计划定义为NContab表达式,如下所示:

[FunctionName("MyFunctionName")]
public void Run([TimerTrigger("0 15 3 * * 1-5")]TimerInfo myTimer, ILogger log)
{
    // Azure function code here ....
}
工作起来很有魅力-但是我希望能够在Azure门户中定义时间表-而不是在我的功能代码中-来处理开发、测试和生产等情况。在开发和测试平台上,我可能希望每天运行几次—在生产环境中可能每周只运行一次

但是,使用这种方法,一旦设置了时间表,我就无法在Azure门户中更改它(所有输入字段都变灰/编辑被禁用)

我希望我可以跳过Azure函数声明中的ncontab表达式,就像这样:

[FunctionName("MyFunctionName")]
public void Run([TimerTrigger()]TimerInfo myTimer, ILogger log)
{
    // Azure function code here ....
}
然后在Azure门户中指定实际的CRON表达式-但不可以,CRON表达式是必需的


那我是不是要求太多了?或者,有没有办法在我实际的代码库之外安排这项工作?

正如silent提供的帖子所述,我们可以使用
ConfigurationManager.AppSettings[“key”]
。但我认为你可以参考下面的解决方案,它更简单

1。在本地编辑函数代码,不要在代码中指定cron表达式,而是使用
%myTimerCron%

2.将其从本地发布到azure,然后在“应用程序设置”中添加一个键/值。

3.然后您可以通过在azure portal上的“应用程序设置”中编辑
myTimerCron
的值来编辑cron表达式

顺便说一句,在VisualStudio的local中测试代码时,只需要在“local.setting.json”中提供一个名为“myTimerCron”的cron表达式。

您试过这个吗@沉默:谢谢你的链接-经过一点尝试和错误,你链接到的这个问题提供了解决方案-谢谢!谢谢-这似乎做得很好!