我想使用天蓝色,在每个月28号UTC 23:00运行Powershell脚本。我正在探索azure逻辑应用程序和功能应用程序,理想情况下是想使用一种组合,但是任何一种都可以使用。
我尝试在函数应用程序中使用TimerTrigger,最初的想法是使用CRON会很简单,因此我想到了0 0 23 28 * ? *
。但是我刚刚意识到,day参数在一周的7天中只接受0-6。
在逻辑应用程序中,除了频率设定器以外,我什么也找不到,它可以让我每月运行一次,但无法控制时间。
有人可以提出解决方法吗?
答案 0 :(得分:1)
仅使用Azure Functions中的CRON
表达式即可实现。
CRON表达式-00 23 28 * *
忽略日期。我把它写成27。你可以把它写成28
我创建了一个功能应用来验证这一点,因为OP指出它无法正常工作。 这是带有计算日期的函数运行时控制台。
这是我的代码的样子
[FunctionName("TimeTrigger")]
public static void Run([TimerTrigger("0 23 27 * *")]TimerInfo myTimer, ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
答案 1 :(得分:1)
Azure函数使用NCRONTAB库,更多详细信息,请参考此文档:NCRONTAB expressions。 cron格式应为{second} {minute} {hour} {day} {month} {day-of-week}
。
如果您想将计时器设置为每个月的28号UTC,可以尝试以下cron表达式:0 0 23 28 * *
。
关于逻辑应用程序,您是对的,目前它仅支持频率计划,无法执行详细的时间计划。