在每个天蓝色的特定日期运行脚本

时间:2020-03-30 03:19:17

标签: azure-functions azure-logic-apps

我想使用天蓝色,在每个月28号UTC 23:00运行Powershell脚本。我正在探索azure逻辑应用程序和功能应用程序,理想情况下是想使用一种组合,但是任何一种都可以使用。

我尝试在函数应用程序中使用TimerTrigger,最初的想法是使用CRON会很简单,因此我想到了0 0 23 28 * ? *。但是我刚刚意识到,day参数在一周的7天中只接受0-6。

在逻辑应用程序中,除了频率设定器以外,我什么也找不到,它可以让我每月运行一次,但无法控制时间。

有人可以提出解决方法吗?

2 个答案:

答案 0 :(得分:1)

仅使用Azure Functions中的CRON表达式即可实现。

CRON表达式-00 23 28 * *

说明:

enter image description here Reference

更新1:

忽略日期。我把它写成27。你可以把它写成28

我创建了一个功能应用来验证这一点,因为OP指出它无法正常工作。 这是带有计算日期的函数运行时控制台。

enter image description here

这是我的代码的样子

[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 * *

enter image description here

关于逻辑应用程序,您是对的,目前它仅支持频率计划,无法执行详细的时间计划。