温馨提示:本文翻译自stackoverflow.com,查看原文请点击:Logic Apps - Stop Blob triggers running on weekends
azure-logic-apps

Logic Apps - 停止在周末运行的Blob触发器

发布于 2020-04-27 12:08:41

我有一个逻辑应用程序,当添加或修改Blob时会触发该应用程序。它每隔几分钟检查一次。考虑到每次触发都要为逻辑应用程序付费(我认为),如何在周末停止触发程序运行?我看不到任何东西 在这里

查看更多

提问者
AlHal
被浏览
27
Hury Shen 2020-02-10 19:10

您可以使用cron表达式创建一个天蓝色的计时器触发函数,以安排该函数在每个星期五晚上运行,并在计时器触发函数中调用此api以禁用您的逻辑应用。

例如,cron表达式可以是:

59 59 23 * * Fri

然后使用cron表达式创建另一个计时器触发函数,以安排该函数在每个星期一早上运行,并在计时器触发函数中调用此api以启用您的逻辑应用。

例如,cron表达式可以是:

0 0 0 * * Mon

另一个解决方案:

您可以在blob触发器之后添加一个条件(在逻辑将执行的操作之前),如下所示: 在此处输入图片说明 “ dayOfWeek()”的表达式为:

dayOfWeek(utcNow())

在dayOfWeek()方法的响应中,星期日-> 0,星期一-> 1。

因此,在上述条件下,大多数操作将在周一至周五执行。在周六和周日,您将只为触发器付费,而不为逻辑应用程序中的大多数操作付费。但是,如果使用此解决方案,则需要注意时区。您可以在此链接中了解有关逻辑应用程序定价的更多信息

顺便说一句,我认为第二种解决方案可能更适合您。因为在第一个解决方案中,我们无法在azure函数中轻松调用api,所以必须在请求api之前获取访问令牌(在隐式流中)。