运行 每个月 azure 的特定日期的脚本

Running a script on a specific date of every month azure

我想 运行 在每个月的 28 日 23:00 UTC 使用 azure 执行 powershell 脚本。我正在探索 azure logic 应用程序和函数应用程序,理想情况下我想使用组合,但任何一个都可以。

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

在逻辑应用程序中,除了允许我每月 运行 一次但无法控制时间的频率 setter 之外,我找不到任何其他东西。

任何人都可以提出解决这个问题的方法吗?

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

CRON 表达式 - 00 23 28 * *

解释:

Reference

更新 1:

Ignore the date. i wrote it as 27. You can just put it as 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}");
        }

Azure 函数使用 NCRONTAB 库,更多详细信息您可以参考此文档:NCRONTAB expressions。 cron 格式应为 {second} {minute} {hour} {day} {month} {day-of-week}.

如果你想在每个月的 28 日 23:00 UTC 设置定时器,你可以试试这个 cron 表达式:0 0 23 28 * *.

关于logic app你是对的,目前只支持频率调度,无法实现详细的时间调度。