You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Azure Logic App Recurrence Trigger每月最后一个周一运行?

实现Azure Logic App每月最后一个周一触发的方案

核心思路

用**Recurrence触发器+触发条件(Trigger Condition)**实现:先让触发器每周一运行,再通过表达式判断当天是否为当月最后一个周一,只有满足条件时才执行后续逻辑。

具体步骤

  1. 创建Recurrence触发器,配置为每周一运行,设置你需要的具体执行时间(比如上午9:00)。
  2. 点击触发器的「添加触发器条件」,粘贴以下表达式:
@equals(formatDateTime(utcNow(), 'yyyy-MM-dd'), formatDateTime(addDays(lastDayOfMonth(utcNow()), if(equals(dayOfWeek(lastDayOfMonth(utcNow())),0), -6, sub(1, dayOfWeek(lastDayOfMonth(utcNow()))))), 'yyyy-MM-dd'))

表达式拆解

  • lastDayOfMonth(utcNow()):Azure内置函数,直接获取当前月份的最后一天,比你之前的表达式更简洁可靠。
  • dayOfWeek(...):返回目标日期的星期数(0=周日,1=周一,2=周二…6=周六)。
  • if(equals(dayOfWeek(...),0), -6, sub(1, dayOfWeek(...))):
    • 如果当月最后一天是周日(0),往前推6天就是当月最后一个周一;
    • 如果最后一天是周一到周六,往前推「星期数-1」天即可得到最后一个周一(比如最后一天是周三,推2天到周一)。
  • formatDateTime(...):统一将日期格式化为yyyy-MM-dd,避免时间部分干扰日期比较。

额外说明

  • 非最后一个周一的时候,触发器会触发但不会执行后续步骤,这类触发不会产生Logic Apps执行费用。
  • 你可以直接在Logic Apps的表达式编辑器中测试该表达式,验证不同月份的计算结果是否正确。

内容的提问来源于stack exchange,提问作者geojoe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:05:23