创建翻转窗口触发器依赖项
适用于: Azure 数据工厂 Azure Synapse Analytics
本文提供创建翻转窗口触发器上的依赖项的步骤。 有关翻转窗口触发器的一般信息,请参阅创建翻转窗口触发器。
若要生成依赖关系链,并确保某个触发器只在成功执行此服务中的另一个触发器之后才执行,请使用此高级功能创建翻转窗口依赖项。
在 UI 中创建依赖项
若要创建对触发器的依赖项,请选择“触发器”>“高级”>“新建”。 然后,选择要依赖的具有适当偏移和大小的触发器。 选择“完成”并发布更改,使依赖项生效。
翻转窗口依赖项属性
带有依赖项的翻转窗口触发器具有以下属性:
{
"name": "MyTriggerName",
"properties": {
"type": "TumblingWindowTrigger",
"runtimeState": <<Started/Stopped/Disabled - readonly>>,
"typeProperties": {
"frequency": <<Minute/Hour>>,
"interval": <<int>>,
"startTime": <<datetime>>,
"endTime": <<datetime - optional>>,
"delay": <<timespan - optional>>,
"maxConcurrency": <<int>> (required, max allowed: 50),
"retryPolicy": {
"count": <<int - optional, default: 0>>,
"intervalInSeconds": <<int>>,
},
"dependsOn": [
{
"type": "TumblingWindowTriggerDependencyReference",
"size": <<timespan - optional>>,
"offset": <<timespan - optional>>,
"referenceTrigger": {
"referenceName": "MyTumblingWindowDependency1",
"type": "TriggerReference"
}
},
{
"type": "SelfDependencyTumblingWindowTriggerReference",
"size": <<timespan - optional>>,
"offset": <<timespan>>
}
]
}
}
}
下表提供了定义翻转窗口依赖项所需的属性列表。
属性名称 | 说明 | 类型 | 必须 |
---|---|---|---|
type |
所有现有翻转窗口触发器将显示在此下拉列表中。 选择要依赖的触发器。 | TumblingWindowTriggerDependencyReference 或 SelfDependencyTumblingWindowTriggerReference |
是 |
offset |
依赖项触发器的偏移量。 以时间跨度格式提供值。 允许使用负偏移和正偏移。 如果触发器依赖于自身,则此属性是必需的。 对于其他所有情况,此属性是可选的。 自我依赖项应始终为负偏移量。 如果未指定任何值,则该窗口与触发器本身相同。 | Timespan (hh:mm:ss) |
自我依赖项:是 其他:否 |
size |
依赖项翻转窗口的大小。 提供正的 timespan 值。 此属性是可选的。 | Timespan (hh:mm:ss) |
否 |
注意
翻转窗口触发器最多可以依赖其他五个触发器。
翻转窗口自我依赖项属性
对于在上一个窗口成功完成之前触发器不应转到下一个窗口的情况,请生成自我依赖项。 依赖于前一小时内自身运行是否成功的自我依赖项触发器具有以下代码中所示的属性。
注意
如果触发的管道依赖于先前触发的窗口中管道的输出,则建议仅使用翻转窗口触发器自我依赖项。 若要限制并行触发器运行,请设置最大触发器并发。
{
"name": "DemoSelfDependency",
"properties": {
"runtimeState": "Started",
"pipeline": {
"pipelineReference": {
"referenceName": "Demo",
"type": "PipelineReference"
}
},
"type": "TumblingWindowTrigger",
"typeProperties": {
"frequency": "Hour",
"interval": 1,
"startTime": "2018-10-04T00:00:00Z",
"delay": "00:01:00",
"maxConcurrency": 50,
"retryPolicy": {
"intervalInSeconds": 30
},
"dependsOn": [
{
"type": "SelfDependencyTumblingWindowTriggerReference",
"size": "01:00:00",
"offset": "-01:00:00"
}
]
}
}
}
使用方案和示例
以下场景显示了翻转窗口依赖项属性的使用。
依赖项偏移量
依赖项大小
自我依赖项
依赖于另一个翻转窗口触发器
以下示例显示一个每日遥测数据处理作业,它依赖于另一个每日作业(该作业聚合过去七天的输出,并生成七天滚动窗口流)。
依赖于自身
以下示例显示在作业输出流中不存在间隙的每日作业。
监视依赖项
可以从“触发器运行监视”页面监视依赖链和相应的窗口。 转到“监视”>“触发器运行”。 如果翻转窗口触发器具有依赖项,则触发器名称包含指向依赖项监视视图的超链接。
单击触发器名称以查看触发器依赖项。 右侧窗格显示触发器运行信息,例如运行 ID、窗口时间和状态。
可查看依赖项的状态,以及每个依赖触发器的窗口。 如果某个依赖项触发器失败,则必须成功重新运行它才能使依赖触发器运行。
翻转窗口触发器在超时前等待依赖项七天。七天后,触发器运行失败。
注意
在翻转窗口触发器处于“等待依赖项”状态时,无法取消它。 依赖活动必须在翻转窗口触发器被取消之前完成。 此限制旨在确保依赖活动在启动后就能完成的。 这也有助于减少意外结果的可能性。
若要以更直观的方式查看触发器依赖项计划,请选择甘特图视图。
透明框显示每个下游依赖触发器的依赖项窗口。 上图中显示的纯色框显示各个窗口运行。 以下是理解甘特图视图的一些技巧:
- 依赖窗口处于“挂起”或“正在运行”状态时,透明框呈蓝色。
- 在所有窗口上成功创建依赖触发器后,透明框变为绿色。
- 某个依赖窗口出现故障时,透明框呈红色。 查找红色的纯色框,以标识失败的窗口运行。
若要在甘特图视图中重新运行某个窗口,请选择该窗口的纯色框。 随即弹出一个操作窗格,其中包含信息和重新运行选项。