Erstellen einer Triggerabhängigkeit für ein rollierendes Fenster

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Dieser Artikel enthält die Schritte zum Erstellen einer Abhängigkeit von einem Trigger für ein rollierendes Fenster. Allgemeine Informationen zu Triggern für rollierende Fenster finden Sie unter Erstellen eines Triggers für ein rollierendes Fenster.

Verwenden Sie diese erweiterte Funktion zum Erstellen einer Abhängigkeit für das rollierende Fenster, um eine Abhängigkeitskette zu erstellen und sicherzustellen, dass ein Trigger erst nach der erfolgreichen Ausführung eines anderen Triggers im Dienst ausgeführt wird.

Das folgende Video veranschaulicht die Erstellung abhängiger Pipelines mit einem Trigger für ein rollierendes Fenster:

Erstellen einer Abhängigkeit in der Benutzeroberfläche

Um Abhängigkeiten von einem Trigger zu erstellen, wählen Sie Trigger>Erweitert>Neu aus. Wählen Sie dann den Auslöser für die Abhängigkeit mit dem entsprechenden Offset und der entsprechenden Größe. Wählen Sie Fertig stellen aus, und veröffentlichen Sie die Änderungen, damit die Abhängigkeiten wirksam werden.

Screenshot des Fensters zur Abhängigkeitserstellung.

Eigenschaften der Abhängigkeit für ein rollierendes Fenster

Ein Trigger für ein rollierendes Fenster mit einer Abhängigkeit weist die folgenden Eigenschaften auf:

{
    "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>>
                }
            ]
        }
    }
}

Die folgende Tabelle enthält die Liste der Attribute, die zum Definieren einer Abhängigkeit für ein rollierendes Fenster erforderlich sind.

Eigenschaftenname Beschreibung Type Erforderlich
type In dieser Dropdownliste werden alle vorhandenen Trigger für rollierende Fenster angezeigt. Wählen Sie den Trigger aus, auf den sich die Abhängigkeit beziehen soll. TumblingWindowTriggerDependencyReference oder SelfDependencyTumblingWindowTriggerReference Ja
offset Der Offset des Abhängigkeitstriggers. Geben Sie einen Wert im Format einer Zeitspanne an. Sowohl negative als auch positive Offsets sind zulässig. Diese Eigenschaft ist obligatorisch, wenn der Trigger von sich selbst abhängig ist. In allen anderen Fällen ist sie optional. Die Selbstabhängigkeit muss immer ein negativer Offset sein. Wenn kein Wert angegeben wird, ist das Fenster identisch mit dem Trigger selbst. Timespan
(hh:mm:ss)
Selbstabhängigkeit: Ja
Sonstiges: Nein
size Die Größe des abhängigen rollierenden Fensters. Geben Sie einen positiven Timespan-Wert an. Diese Eigenschaft ist optional. Timespan
(hh:mm:ss)
Nein

Hinweis

Ein Trigger für ein rollierendes Fenster kann von maximal fünf anderen Triggern abhängig sein.

Eigenschaften der Selbstabhängigkeit für ein rollierendes Fenster

In Szenarien, in denen der Trigger mit dem nächsten Fenster erst fortfahren soll, wenn das vorhergehende Fenster erfolgreich abgeschlossen wurde, müssen Sie eine Selbstabhängigkeit erstellen. Ein Trigger mit Selbstabhängigkeit, der vom Erfolg eigener früherer Ausführungen innerhalb der vorangegangenen Stunde abhängig ist, hat die im folgenden Code angegebenen Eigenschaften.

Hinweis

Wenn Ihre ausgelöste Pipeline auf der Ausgabe von Pipelines in zuvor ausgelösten Fenstern basiert, empfehlen wir, nur die Selbstabhängigkeit eines rollierenden Fensters zu verwenden. Zur Einschränkung von parallelen Triggerausführungen legen Sie die maximale Triggerparallelität fest.

{
    "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"
                }
            ]
        }
    }
}

Verwendungsszenarien und -beispiele

Die folgenden Szenarien zeigen die Verwendung der Abhängigkeitseigenschaften von rollierenden Fenstern.

Offset der Abhängigkeit

Abbildung eines Offsetbeispiels.

Größe der Abhängigkeit

Abbildung eines Größenbeispiels.

Selbstabhängigkeit

Abbildung eines Beispiels für die Selbstabhängigkeit.

Abhängigkeit von einem anderen Trigger für ein rollierendes Fenster

Das folgende Beispiel zeigt einen täglichen Auftrag zur Verarbeitung von Telemetriedaten, der von einem anderen täglichen Auftrag abhängig ist, der die Ausgabe der letzten sieben Tage aggregiert und Datenströme von sieben Tagen des rollierenden Fensters generiert:

Abbildung eines Beispiels für die Abhängigkeit.

Abhängigkeit von sich selbst

Das folgende Beispiel zeigt einen täglichen Auftrag ohne Lücken in den Ausgabedatenströmen des Auftrags.

Abbildung eines Beispiels für eine Selbstabhängigkeit ohne Lücken in den Ausgabedatenströmen.

Überwachen von Abhängigkeiten

Sie können die Abhängigkeitskette und die entsprechenden Fenster auf der Seite für die Überwachung von Triggerausführungen überwachen. Wechseln Sie zu Überwachung>Triggerausführungen. Wenn ein Trigger des Typs „Rollierendes Fenster“ Abhängigkeiten aufweist, enthält der Triggername einen Link zur Ansicht für die Überwachung einer Abhängigkeit.

Screenshot, der die Überwachung der Triggerausführungen zeigt.

Klicken Sie sich durch bis zum Namen des Triggers, um die Triggerabhängigkeiten anzuzeigen. Der Bereich auf der rechten Seite zeigt Informationen zur Triggerausführung an, z. B. die Ausführungs-ID, die Fensterzeit und den Status.

Screenshot, der die Ansicht der Überwachungsabhängigkeitenliste zeigt.

Sie können den Status der Abhängigkeiten und Fenster für jeden abhängigen Trigger sehen. Wenn einer der Abhängigkeitstrigger fehlschlägt, müssen Sie ihn erneut erfolgreich ausführen, damit der abhängige Trigger ausgeführt werden kann.

Ein Trigger für ein rollierendes Fenster wartet sieben Tage auf Abhängigkeiten, ehe ein Timeout eintritt. Nach sieben Tagen schlägt die Ausführung des Auslösers fehl.

Hinweis

Ein Trigger für ein rollierendes Fenster kann nicht abgebrochen werden, während er sich im Zustand Warten auf Abhängigkeit befindet. Die abhängige Aktivität muss beendet sein, bevor der Trigger für ein rollierendes Fenster abgebrochen werden kann. Diese Einschränkung ist beabsichtigt, um sicherzustellen, dass abhängige Aktivitäten abgeschlossen werden können, sobald sie begonnen wurden. Sie hilft auch, die Wahrscheinlichkeit unerwarteter Ergebnisse zu verringern.

Wählen Sie die Gantt-Ansicht aus, um eine visuelle Darstellung des Zeitplans für Triggerabhängigkeiten anzuzeigen.

Screenshot, der ein Gantt-Diagramm der Überwachungsabhängigkeiten zeigt.

Transparente Felder zeigen die Abhängigkeitsfenster für jeden vom Downstream abhängigen Auslöser. Die einfarbigen Felder in der vorangegangenen Abbildung zeigen einzelne Fensterausführungen an. Es folgen einige Tipps zum Interpretieren der Gantt-Diagrammansicht:

  • Transparente Felder wird blau gerendert, wenn sich abhängige Fenster im Zustand Ausstehend oder Wird ausgeführt befinden.
  • Nachdem alle Fenster für einen abhängigen Trigger erfolgreich waren, wird das transparente Kästchen grün.
  • Das transparente Feld wird rot gerendert, wenn ein abhängiges Fenster fehlschlägt. Achten Sie auf ein rotes einfarbiges Feld zur Kennzeichnung der fehlerhaften Fensterausführung.

Um ein Fenster in der Gantt-Diagramm-Ansicht erneut auszuführen, markieren Sie das Farbfeld für das Fenster. Es öffnet sich ein Bereich mit Informationen und Wiederholungsoptionen.