适用于:Azure 逻辑应用(消耗型 + 标准型)
若要设置可以在连续或连续区块中处理数据的工作流,请使用 滑动窗口 触发器启动工作流。 若要启动工作流,可以设置日期和时间和时区。 若要重复工作流,请设置重复周期。 如果因任何原因(例如中断或禁用工作流)错过了重复周期,则此触发器将处理错过的重复周期。
例如,若要使数据在数据库和备份存储之间保持同步,请使用 滑动窗口 触发器,使数据同步而不会产生差距。
下面是此触发器支持的一些模式:
- 立即运行,并每隔 n 秒、分钟、小时、天、周或月重复运行。
- 在特定的日期和时间启动,然后运行并每隔 n 秒、分钟、小时、天、周或月重复运行。 使用此触发器时,可以指定过去的一个开始时间,以便运行所有过去的定期触发。
- 将每个定期触发延迟特定的时间,然后再运行。
有关 计划 内置触发器和作的详细信息,包括此触发器和 定期 触发器之间的差异,以及计划定期工作流的方法,请参阅 Azure 逻辑应用工作流中定期触发器的计划。
Prerequisites
Azure 帐户和订阅。 如果没有订阅, 请注册试用版 Azure 订阅。
具有空白工作流的逻辑应用资源。
如果没有此资源,请参阅以下文章:
添加“滑动窗口”触发器
在 Azure 门户中,打开逻辑应用资源,这需要空白工作流,以便可以添加触发器。
根据是使用还是标准逻辑应用,请执行相应的步骤:
消耗
在资源边栏上的 “开发工具”下,选择设计器以打开工作流。
在设计器上,选择“ 添加触发器”。
标准
在资源边栏的 “工作流”下,选择“ 工作流”。
在 “工作流 ”页上,选择空白工作流。
在工作流边栏上的 “工具”下,选择设计器以打开工作流。
在设计器上,选择“ 添加触发器”。
按照常规步骤将名为“滑动窗口”的计划触发器添加到工作流。
在 “要检查项目的频率?” 部分中,输入重复周期的间隔和频率。 对于此示例,请将这些参数设置为每周运行工作流。
参数 JSON 名称 Required 类型 Description Interval interval
Yes Integer 一个整数,描述工作流根据频率运行的频率。 下面是最小和最大间隔:
- 月:1-16 个月
- 周:1-71 周
- 天:1-500 天
- 小时:1-12,000 小时
- 分钟:1-72,000 分钟
- 秒:1-9,999,999 秒
例如,如果间隔为 6,频率为 Month,则重复周期为每 6 个月一次。Frequency frequency
Yes String 定期计划的时间单位:“秒”、“分钟”、“小时”、“天”、“周”或“月” 在 “高级参数”旁边,选择“ 全部显示 ”以查看可用参数。
除了 间隔 和 频率,此触发器还具有以下选项:
参数 Required JSON 名称 类型 Description Delay No delay
String 根据 ISO 8601 日期时间规范延迟每个定期的时间 时区 No timeZone
String 仅当指定启动时间时才适用,因为此触发器不接受 UTC 时差。 选择要应用的时区。 开始时间 No startTime
String 采用以下格式提供启动日期和时间:
如果选择了时区,则格式为 YYYY-MM-DDThh:mm:ss
-or-
如果未选择时区,则格式为 YYYY-MM-DDThh:mm:ssZ
例如,如果希望 2025 年 9 月 18 日下午 2:00,请指定“2025-09-18T14:00:00”,然后选择时区,如太平洋标准时间。 或者,指定不带时区的“2025-09-18T14:00:00Z”。
注意:此开始时间必须遵循 ISO 8601 日期时间规范,采用 UTC 日期时间格式但没有 UTC 时差。 如果未选择时区,请在末尾添加字母“Z”,不带任何空格。 这个“Z”指等效的航海时间。
对于简单计划,开始时间指首次运行时间;对于高级定期,触发器的激发时间不会早于开始时间。 请参阅可以使用 开始日期和时间的方法是什么?现在,请使用其他操作生成剩余的工作流。
查看工作流定义 - 滑动窗口
逻辑应用的基础工作流定义使用 JSON。 若要查看设置了值的滑动窗口触发器定义,请在设计器工具栏上选择 “代码”视图。 若要返回到设计器,请在代码视图工具栏上选择 “设计器”。
此示例显示如果延迟为每小时重复 5 秒,滑动窗口触发器定义在基础工作流定义中的外观如何:
"triggers": {
"Recurrence": {
"type": "SlidingWindow",
"Sliding_Window": {
"inputs": {
"delay": "PT5S"
},
"recurrence": {
"frequency": "Hour",
"interval": 1,
"startTime": "2019-05-13T14:00:00Z",
"timeZone": "Pacific Standard Time"
}
}
}
}