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.
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
Größe der Abhängigkeit
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:
Abhängigkeit von sich selbst
Das folgende Beispiel zeigt einen täglichen Auftrag ohne Lücken in den Ausgabedatenströmen des Auftrags.
Ü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.
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.
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.
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.