创建翻转窗口触发器依赖项

适用于: Azure 数据工厂 Azure Synapse Analytics

提示

试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用

本文提供创建翻转窗口触发器上的依赖项的步骤。 有关翻转窗口触发器的一般信息,请参阅如何创建翻转窗口触发器

若要生成依赖关系链,并确保某个触发器只在成功执行服务中的另一个触发器之后才执行,请使用此高级功能来创建翻转窗口依赖项。

在 UI 中创建依赖项

若要在触发器上创建依赖项,请选择“触发器”>“高级”>“新建”,然后选择要依赖的、具有相应偏移量和大小的触发器。 选择“完成”并发布更改,使依赖项生效。

Screenshot of the dependency creation window.

翻转窗口依赖项属性

带有依赖项的翻转窗口触发器具有以下属性:

{
    "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)
自我依赖项:是
其他:否
大小 依赖项翻转窗口的大小。 提供正的 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"
                }
            ]
        }
    }
}

使用方案和示例

下面演示了翻转窗口依赖项属性的方案和用法。

依赖项偏移量

Offset Example

依赖项大小

Size example

自我依赖项

Self-dependency

依赖于另一个翻转窗口触发器

某个每日遥测数据处理作业依赖于另一个每日作业,这后一个作业聚合过去七天的输出,并生成七天滚动窗口流:

Dependency example

依赖于自身

在作业输出流中不存在间隙的每日作业:

Self-dependency example

监视依赖项

可以从“触发器运行监视”页面监视依赖链和相应的窗口。 导航到“监视”>“触发器运行”。 如果翻转窗口触发器具有依赖项,则触发器名称将包含指向依赖项监视视图的超链接。

Monitor trigger runs

单击触发器名称以查看触发器依赖项。 右侧面板显示详细的触发器运行信息,例如 RunID、窗口时间、状态等。

Monitor dependencies list view

你可以查看依赖项的状态,以及每个相关触发器的窗口。 如果某个依赖项触发器失败,则必须成功重新运行它才能使相关触发器可以运行。

翻转窗口触发器将在超时前等待依赖项七天。七天后,触发器运行将失败。

注意

在处于“等待依赖项”状态时,无法取消翻转窗口触发器。 依赖活动必须在翻转窗口触发器被取消之前完成。 这是通过设计来确保依赖活动一旦启动即可完成,并帮助降低意外结果的可能性。

若要更直观地查看触发器依赖项计划,请选择甘特图视图。

Monitor dependencies gantt chart

透明框显示每个与下游相关的触发器的依赖项窗口,而上方的纯色框显示各个窗口运行。 以下是理解甘特图视图的一些技巧:

  • 相关窗口处于挂起或正在运行状态时,透明框呈蓝色
  • 在所有窗口上成功创建相关触发器后,透明框将变为绿色
  • 某些相关窗口出现故障时,透明框呈红色。 查找红色的纯色框,以标识失败的窗口运行

若要在甘特图视图中重新运行窗口,请为该窗口选择纯色框,然后将弹出一个包含详细信息和重新运行选项的操作面板