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

如何用Terraform配置Azure Logic App每月最后一天触发的Recurrence触发器

在Terraform中实现Azure Logic App每月最后一天触发

问题说明

要通过Terraform配置Azure Logic App触发器每月最后一天仅运行一次,手动配置时微软官方文档给出的monthDays = [-1]可以实现,但azurerm_logic_app_trigger_recurrence资源并未支持该配置项——尝试用on_these_days会触发错误,仅设置start_time也无法保证后续每月都能准确在最后一天运行。

解决方案1:使用自定义触发器资源

直接通过azurerm_logic_app_trigger_custom编写包含monthDays = [-1]的 recurrence 配置,完全匹配手动配置的逻辑:

resource "azurerm_logic_app_trigger_custom" "monthly_last_day" {
  name         = "MonthlyLastDayTrigger"
  logic_app_id = azurerm_logic_app.your_logic_app.id

  body = jsonencode({
    recurrence = {
      frequency = "Month"
      interval  = 1
      monthDays = [-1]
      timeZone  = "UTC" # 根据需求替换时区
    }
    type = "Recurrence"
  })
}

解决方案2:添加内置函数条件判断

如果倾向于使用azurerm_logic_app_trigger_recurrence,可以先配置每日触发,再通过Logic App内置函数判断当前日期是否为当月最后一天,仅满足条件时执行后续流程:

  1. 配置每日触发的 recurrence:
resource "azurerm_logic_app_trigger_recurrence" "daily_trigger" {
  name         = "DailyCheckTrigger"
  logic_app_id = azurerm_logic_app.your_logic_app.id

  frequency = "Day"
  interval  = 1
  time_zone = "UTC"
}
  1. 在工作流中添加条件步骤,使用以下表达式判断是否为当月最后一天:
@equals(dayOfMonth(addDays(utcNow(), 1)), 1)

只有当该表达式返回true(即明天是当月第一天,今天是最后一天)时,才继续执行后续操作,否则终止工作流。


内容的提问来源于stack exchange,提问作者Péter Hidvégi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 19:00:53