Pipelineausführung und Trigger in Azure Data FactoryPipeline execution and triggers in Azure Data Factory

Eine Pipelineausführung in Azure Data Factory definiert eine Instanz einer Pipelineausführung.A pipeline run in Azure Data Factory defines an instance of a pipeline execution. Beispiel: Angenommen, Sie verfügen über eine Pipeline, die um 8:00, 9:00 und 10:00 Uhr ausgeführt wird.For example, say you have a pipeline that executes at 8:00 AM, 9:00 AM, and 10:00 AM. In diesem Fall erfolgen drei separate Ausführungen der Pipeline (oder Pipelineausführungen).In this case, there are three separate runs of the pipeline, or pipeline runs. Jede Pipelineausführung besitzt eine eindeutige Pipelineausführungs-ID.Each pipeline run has a unique pipeline run ID. Eine Ausführungs-ID ist eine GUID, die die jeweilige Pipelineausführung eindeutig definiert.A run ID is a GUID that uniquely defines that particular pipeline run.

Zur Instanziierung von Pipelineausführungen werden in der Regel Argumente an in der Pipeline definierte Parameter übergeben.Pipeline runs are typically instantiated by passing arguments to parameters that you define in the pipeline. Sie können eine Pipeline entweder manuell oder mithilfe eines Triggers ausführen.You can execute a pipeline either manually or by using a trigger. Dieser Artikel enthält Informationen zu beiden Möglichkeiten der Ausführung einer Pipeline.This article provides details about both ways of executing a pipeline.

Manuelle Ausführung (bei Bedarf)Manual execution (on-demand)

Die manuelle Ausführung einer Pipeline wird auch als bedarfsgesteuerte Ausführung bezeichnet.The manual execution of a pipeline is also referred to as on-demand execution.

Beispiel: Angenommen, Sie haben eine allgemeine Pipeline mit dem Namen copyPipeline, die Sie ausführen möchten.For example, say you have a basic pipeline named copyPipeline that you want to execute. Dabei handelt es sich um eine Pipeline mit einer einzelnen Aktivität, die Daten aus einem Azure Blob Storage-Quellordner in einen Zielordner im selben Speicher kopiert.The pipeline has a single activity that copies from an Azure Blob storage source folder to a destination folder in the same storage. Die folgende JSON-Definition zeigt diese Beispielpipeline:The following JSON definition shows this sample pipeline:

{
    "name": "copyPipeline",
    "properties": {
        "activities": [
            {
                "type": "Copy",
                "typeProperties": {
                    "source": {
                        "type": "BlobSource"
                    },
                    "sink": {
                        "type": "BlobSink"
                    }
                },
                "name": "CopyBlobtoBlob",
                "inputs": [
                    {
                        "referenceName": "sourceBlobDataset",
                        "type": "DatasetReference"
                    }
                ],
                "outputs": [
                    {
                        "referenceName": "sinkBlobDataset",
                        "type": "DatasetReference"
                    }
                ]
            }
        ],
        "parameters": {
            "sourceBlobContainer": {
                "type": "String"
            },
            "sinkBlobContainer": {
                "type": "String"
            }
        }
    }
}

In der JSON-Definition nutzt die Pipeline nutzt zwei Parameter: sourceBlobContainer und sinkBlobContainer.In the JSON definition, the pipeline takes two parameters: sourceBlobContainer and sinkBlobContainer. Sie können Werte an diese Parameter zur Laufzeit übergeben.You pass values to these parameters at runtime.

Sie können Ihre Pipeline manuell mit einer der folgenden Methoden ausführen:You can manually run your pipeline by using one of the following methods:

  • .NET SDK.NET SDK
  • Azure PowerShell-ModulAzure PowerShell module
  • REST-APIREST API
  • Python SDKPython SDK

REST-APIREST API

Der folgende Befehl zeigt, wie Ihre Pipeline manuell mithilfe der REST-API ausgeführt wird:The following sample command shows you how to manually run your pipeline by using the REST API:

POST
https://management.azure.com/subscriptions/mySubId/resourceGroups/myResourceGroup/providers/Microsoft.DataFactory/factories/myDataFactory/pipelines/copyPipeline/createRun?api-version=2017-03-01-preview

Ein vollständiges Beispiel finden Sie unter Schnellstart: Erstellen einer Data Factory mit der REST-API.For a complete sample, see Quickstart: Create a data factory by using the REST API.

Azure PowerShellAzure PowerShell

Hinweis

Dieser Artikel wurde aktualisiert und beinhaltet jetzt das neue Az-Modul von Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Sie können das AzureRM-Modul weiterhin verwenden, das bis mindestens Dezember 2020 weiterhin Fehlerbehebungen erhält.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Weitere Informationen zum neuen Az-Modul und zur Kompatibilität mit AzureRM finden Sie unter Introducing the new Azure PowerShell Az module (Einführung in das neue Az-Modul von Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Anweisungen zur Installation des Az-Moduls finden Sie unter Install Azure PowerShell (Installieren von Azure PowerShell).For Az module installation instructions, see Install Azure PowerShell.

Der folgende Befehl zeigt, wie Ihre Pipeline manuell mithilfe von Azure PowerShell ausgeführt wird:The following sample command shows you how to manually run your pipeline by using Azure PowerShell:

Invoke-AzDataFactoryV2Pipeline -DataFactory $df -PipelineName "Adfv2QuickStartPipeline" -ParameterFile .\PipelineParameters.json

Sie übergeben Parameter im Text in der Anforderungsnutzlast.You pass parameters in the body of the request payload. Im .NET SDK, in Azure PowerShell und im Python SDK werden Werte in einem Wörterbuch übergeben, das als Argument an den Aufruf übergeben wird:In the .NET SDK, Azure PowerShell, and the Python SDK, you pass values in a dictionary that's passed as an argument to the call:

{
  "sourceBlobContainer": "MySourceFolder",
  "sinkBlobContainer": "MySinkFolder"
}

Die Antwortnutzlast ist eine eindeutige ID der Pipelineausführung:The response payload is a unique ID of the pipeline run:

{
  "runId": "0448d45a-a0bd-23f3-90a5-bfeea9264aed"
}

Ein vollständiges Beispiel finden Sie unter Schnellstart: Erstellen einer Data Factory mit Azure PowerShell.For a complete sample, see Quickstart: Create a data factory by using Azure PowerShell.

.NET SDK.NET SDK

Der folgende Beispielaufruf zeigt, wie Ihre Pipeline manuell mithilfe des .NET SDK ausgeführt wird:The following sample call shows you how to manually run your pipeline by using the .NET SDK:

client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName, parameters)

Ein vollständiges Beispiel finden Sie unter Schnellstart: Erstellen einer Data Factory mit dem .NET SDK.For a complete sample, see Quickstart: Create a data factory by using the .NET SDK.

Hinweis

Mit dem .NET SDK können Sie Data Factory-Pipelines in Azure Functions, Ihren eigenen Webdiensten usw. aufrufen.You can use the .NET SDK to invoke Data Factory pipelines from Azure Functions, from your own web services, and so on.

TriggerausführungTrigger execution

Eine Pipelineausführung kann auch mithilfe von Triggern erfolgen.Triggers are another way that you can execute a pipeline run. Trigger stellen eine Verarbeitungseinheit dar, die bestimmt, wann eine Pipelineausführung initiiert werden soll.Triggers represent a unit of processing that determines when a pipeline execution needs to be kicked off. Derzeit unterstützt Data Factory drei Arten von Triggern:Currently, Data Factory supports three types of triggers:
  • Zeitplantrigger: Ein Trigger, der eine Pipeline nach einem Realzeitplan aufruft.Schedule trigger: A trigger that invokes a pipeline on a wall-clock schedule.

  • Trigger für ein rollierendes Fenster: Ein Trigger, der in einem regelmäßigen Intervall ausgeführt wird, während der Zustand beibehalten wird.Tumbling window trigger: A trigger that operates on a periodic interval, while also retaining state.

  • Ereignisbasierter Trigger: Ein Trigger, der auf ein Ereignis reagiert.Event-based trigger: A trigger that responds to an event.

Pipelines und Trigger haben eine m:n-Beziehung (mit Ausnahme des Triggers für ein rollierendes Fenster). Mehrere Trigger können eine einzelne Pipeline starten, oder ein einzelner Trigger kann mehrere Pipelines starten.Pipelines and triggers have a many-to-many relationship (except for the tumbling window trigger).Multiple triggers can kick off a single pipeline, or a single trigger can kick off multiple pipelines. In der folgenden Triggerdefinition bezieht sich die Pipelines-Eigenschaft auf eine Liste von Pipelines, die vom jeweiligen Trigger ausgelöst werden.In the following trigger definition, the pipelines property refers to a list of pipelines that are triggered by the particular trigger. Die Eigenschaftendefinition enthält Werte für die Pipelineparameter.The property definition includes values for the pipeline parameters.

Grundlegende TriggerdefinitionBasic trigger definition

{
    "properties": {
        "name": "MyTrigger",
        "type": "<type of trigger>",
        "typeProperties": {...},
        "pipelines": [
            {
                "pipelineReference": {
                    "type": "PipelineReference",
                    "referenceName": "<Name of your pipeline>"
                },
                "parameters": {
                    "<parameter 1 Name>": {
                        "type": "Expression",
                        "value": "<parameter 1 Value>"
                    },
                    "<parameter 2 Name>": "<parameter 2 Value>"
                }
            }
        ]
    }
}

ZeitplantriggerSchedule trigger

Ein Zeitplantrigger führt Pipelines nach einem Realzeitplan aus.A schedule trigger runs pipelines on a wall-clock schedule. Dieser Trigger unterstützt regelmäßige und erweiterte Kalenderoptionen.This trigger supports periodic and advanced calendar options. Der Trigger unterstützt z.B. Intervalle wie „wöchentlich“ oder „Montag um 17:00 Uhr und Donnerstag um 21:00 Uhr“.For example, the trigger supports intervals like "weekly" or "Monday at 5:00 PM and Thursday at 9:00 PM." Der Zeitplantrigger ist flexibel, da das DataSet-Muster agnostisch ist und der Trigger nicht zwischen Zeitreihendaten und Nicht-Zeitreihendaten unterscheidet.The schedule trigger is flexible because the dataset pattern is agnostic, and the trigger doesn't discern between time-series and non-time-series data.

Weitere Informationen zu Zeitplantriggern und Beispiele finden Sie unter Erstellen eines Triggers zum Ausführen einer Pipeline gemäß einem Zeitplan.For more information about schedule triggers and for examples, see Create a schedule trigger.

Definition für ZeitplantriggerSchedule trigger definition

Wenn Sie einen Zeitplantrigger erstellen, geben den Zeitplan und die Wiederholung mithilfe einer JSON-Definition an.When you create a schedule trigger, you specify scheduling and recurrence by using a JSON definition.

Damit der Zeitplantrigger die Ausführung der Pipeline startet, verwenden Sie in der Triggerdefinition einen Pipelineverweis auf die jeweilige Pipeline.To have your schedule trigger kick off a pipeline run, include a pipeline reference of the particular pipeline in the trigger definition. Pipelines und Trigger haben eine m:m-Beziehung.Pipelines and triggers have a many-to-many relationship. Mehrere Trigger können eine einzelne Pipeline starten.Multiple triggers can kick off a single pipeline. Ein einzelnder Trigger kann mehrere Pipelines starten.A single trigger can kick off multiple pipelines.

{
  "properties": {
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": <<Minute, Hour, Day, Week, Year>>,
        "interval": <<int>>, // How often to fire
        "startTime": <<datetime>>,
        "endTime": <<datetime>>,
        "timeZone": "UTC",
        "schedule": { // Optional (advanced scheduling specifics)
          "hours": [<<0-24>>],
          "weekDays": [<<Monday-Sunday>>],
          "minutes": [<<0-60>>],
          "monthDays": [<<1-31>>],
          "monthlyOccurrences": [
            {
              "day": <<Monday-Sunday>>,
              "occurrence": <<1-5>>
            }
          ]
        }
      }
    },
  "pipelines": [
    {
      "pipelineReference": {
        "type": "PipelineReference",
        "referenceName": "<Name of your pipeline>"
      },
      "parameters": {
        "<parameter 1 Name>": {
          "type": "Expression",
          "value": "<parameter 1 Value>"
        },
        "<parameter 2 Name>": "<parameter 2 Value>"
      }
    }
  ]}
}

Wichtig

Die parameters-Eigenschaft ist eine erforderliche Eigenschaft des pipelines-Elements.The parameters property is a mandatory property of the pipelines element. Wenn für Ihre Pipeline keine Parameter verwendet werden, müssen Sie eine leere JSON-Definition für die parameters-Eigenschaft einfügen.If your pipeline doesn't take any parameters, you must include an empty JSON definition for the parameters property.

SchemaübersichtSchema overview

Die folgende Tabelle enthält eine allgemeine Übersicht über die wichtigsten Schemaelemente im Zusammenhang mit der Wiederholung und Zeitplanung eines Triggers:The following table provides a high-level overview of the major schema elements that are related to recurrence and scheduling a trigger:

JSON-EigenschaftJSON property BESCHREIBUNGDescription
startTimestartTime Ein Datums-/Uhrzeitwert.A date-time value. Bei allgemeinen Zeitplänen gilt der Wert der startTime-Eigenschaft für das erste Vorkommen.For basic schedules, the value of the startTime property applies to the first occurrence. Bei komplexen Zeitplänen wird der Trigger frühestens beim festgelegten startTime-Wert gestartet.For complex schedules, the trigger starts no sooner than the specified startTime value.
endTimeendTime Enddatum und -uhrzeit für den Trigger.The end date and time for the trigger. Der Trigger wird am angegebenen Enddatum und der Enduhrzeit beendet.The trigger doesn't execute after the specified end date and time. Der Wert für die Eigenschaft darf nicht in der Vergangenheit liegen.The value for the property can't be in the past.
timeZonetimeZone Die Zeitzone.The time zone. Derzeit wird nur die UTC-Zeitzone unterstützt.Currently, only the UTC time zone is supported.
recurrencerecurrence Ein recurrence-Objekt, das die Wiederholungsregeln für den Trigger angibt.A recurrence object that specifies the recurrence rules for the trigger. Das recurrence-Objekt unterstützt die Elemente frequency, interval, endTime, count und schedule.The recurrence object supports the frequency, interval, endTime, count, and schedule elements. Wenn ein recurrence-Objekt definiert ist, ist das frequency-Element erforderlich.When a recurrence object is defined, the frequency element is required. Die anderen Elemente des recurrence-Objekts sind optional.The other elements of the recurrence object are optional.
frequencyfrequency Die Einheit der Häufigkeit, mit welcher der Trigger wiederholt wird.The unit of frequency at which the trigger recurs. Zu den unterstützten Werten gehören „minute“, „hour“, „day“, „week“ und „month“.The supported values include "minute", "hour", "day", "week", and "month".
intervalinterval Eine positive ganze Zahl, die das Intervall für den frequency-Wert angibt.A positive integer that denotes the interval for the frequency value. Der frequency-Wert bestimmt, wie oft der Trigger ausgeführt wird.The frequency value determines how often the trigger runs. Ist interval also beispielsweise auf „3“ und frequency auf „week“ festgelegt, wird der Trigger alle drei Wochen ausgeführt.For example, if the interval is 3 and the frequency is "week", the trigger recurs every three weeks.
scheduleschedule Der Wiederholungszeitplan für den Trigger.The recurrence schedule for the trigger. Die Wiederholung eines Triggers mit einem festgelegten frequency-Wert wird auf der Grundlage eines Wiederholungszeitplans angepasst.A trigger with a specified frequency value alters its recurrence based on a recurrence schedule. Die schedule-Eigenschaft enthält Anpassungen für die Wiederholung auf der Grundlage von Minuten, Stunden, Wochentagen, Monatstagen und Wochennummer.The schedule property contains modifications for the recurrence that are based on minutes, hours, week days, month days, and week number.

Beispiel für ZeitplantriggerSchedule trigger example

{
    "properties": {
        "name": "MyTrigger",
        "type": "ScheduleTrigger",
        "typeProperties": {
            "recurrence": {
                "frequency": "Hour",
                "interval": 1,
                "startTime": "2017-11-01T09:00:00-08:00",
                "endTime": "2017-11-02T22:00:00-08:00"
            }
        },
        "pipelines": [{
                "pipelineReference": {
                    "type": "PipelineReference",
                    "referenceName": "SQLServerToBlobPipeline"
                },
                "parameters": {}
            },
            {
                "pipelineReference": {
                    "type": "PipelineReference",
                    "referenceName": "SQLServerToAzureSQLPipeline"
                },
                "parameters": {}
            }
        ]
    }
}

Schemastandards, Einschränkungen und BeispieleSchema defaults, limits, and examples

JSON-EigenschaftJSON property typeType ErforderlichRequired StandardwertDefault value Gültige WerteValid values BeispielExample
startTimestartTime Zeichenfolgestring JaYes KeineNone Datum/Uhrzeit (nach ISO 8601)ISO 8601 date-times "startTime" : "2013-01-09T09:30:00-08:00"
recurrencerecurrence objectobject JaYes KeineNone WiederholungsobjektA recurrence object "recurrence" : { "frequency" : "monthly", "interval" : 1 }
intervalinterval numbernumber NeinNo 11 1 bis 1.0001 to 1000 "interval":10
endTimeendTime Zeichenfolgestring JaYes KeineNone Ein Datums-/Uhrzeitwert, der eine Zeit in der Zukunft darstelltA date-time value that represents a time in the future "endTime" : "2013-02-09T09:30:00-08:00"
scheduleschedule objectobject NeinNo KeineNone ZeitplanobjektA schedule object "schedule" : { "minute" : [30], "hour" : [8,17] }

startTime-EigenschaftstartTime property

Die folgende Tabelle zeigt, wie die startTime-Eigenschaft eine Triggerausführung steuert:The following table shows you how the startTime property controls a trigger run:

startTime-WertstartTime value Wiederholung ohne ZeitplanRecurrence without schedule Wiederholung mit ZeitplanRecurrence with schedule
Startuhrzeit in der VergangenheitStart time is in the past Berechnet die erste zukünftige Ausführungszeit nach der Startzeit und nimmt die Ausführung zu diesem Zeitpunkt vor.Calculates the first future execution time after the start time, and runs at that time.

Führt weitere Ausführungen aus, die auf der Grundlage der letzten Ausführungszeit berechnet wurden.Runs subsequent executions calculated from the last execution time.

Betrachten Sie das Beispiel nach dieser Tabelle.See the example that follows this table.
Der Trigger startet frühestens zur angegebenen Startzeit.The trigger starts no sooner than the specified start time. Das erste Vorkommen basiert auf dem Zeitplan, der auf der Grundlage der Startzeit berechnet wird.The first occurrence is based on the schedule, calculated from the start time.

Berechnet weitere Ausführungen auf Grundlage des Wiederholungszeitplans.Runs subsequent executions based on the recurrence schedule.
Startzeit in der Zukunft oder aktuelle UhrzeitStart time is in the future or the current time Wird einmalig zur angegebenen Startzeit ausgeführt.Runs once at the specified start time.

Führt weitere Ausführungen aus, die auf der Grundlage der letzten Ausführungszeit berechnet wurden.Runs subsequent executions calculated from the last execution time.
Der Trigger startet frühestens zur angegebenen Startzeit.The trigger starts no sooner than the specified start time. Das erste Vorkommen basiert auf dem Zeitplan, der auf der Grundlage der Startzeit berechnet wird.The first occurrence is based on the schedule, calculated from the start time.

Berechnet weitere Ausführungen auf Grundlage des Wiederholungszeitplans.Runs subsequent executions based on the recurrence schedule.

Das folgende Beispiel veranschaulicht, was passiert, wenn die Startzeit in der Vergangenheit liegt und nur eine Wiederholung, aber kein Zeitplan angegeben ist.Let's look at an example of what happens when the start time is in the past, with a recurrence, but no schedule. Nehmen Sie beispielsweise an, dass die aktuelle Uhrzeit „2017-04-08 13:00“ und die Startzeit „2017-04-07 14:00“ ist und die Wiederholung alle zwei Tage erfolgt.Assume that the current time is 2017-04-08 13:00, the start time is 2017-04-07 14:00, and the recurrence is every two days. (Der recurrence-Wert wird definiert, indem die frequency-Eigenschaft auf „day“ und die interval-Eigenschaft auf „2“ festgelegt wird.) Beachten Sie, dass der startTime-Wert in der Vergangenheit liegt.(The recurrence value is defined by setting the frequency property to "day" and the interval property to 2.) Notice that the startTime value is in the past and occurs before the current time.

Unter diesen Umständen erfolgt die erste Ausführung am 09.04.2017 um 14:00 Uhr.Under these conditions, the first execution is 2017-04-09 at 14:00. Die Scheduler-Engine berechnet die Ausführungen auf Grundlage der Startzeit.The Scheduler engine calculates execution occurrences from the start time. In der Vergangenheit liegende Instanzen werden verworfen.Any instances in the past are discarded. Die Engine verwendet die nächste in der Zukunft liegende Instanz.The engine uses the next instance that occurs in the future. In diesem Szenario ist die Startzeit der 07.04.2017 um 14 Uhr.In this scenario, the start time is 2017-04-07 at 2:00 PM. Die nächste Instanz folgt zwei Tage nach diesem Zeitpunkt, also um am 09.04.2017 um 14 Uhr.The next instance is two days from that time, which is on 2017-04-09 at 2:00 PM.

Die erste Ausführungszeit ist auch dieselbe, wenn „2017-04-05 14:00“ oder „2017-04-01 14:00“ für startTime angegeben ist.The first execution time is the same even whether startTime is 2017-04-05 14:00 or 2017-04-01 14:00. Nach der ersten Ausführung werden nachfolgende Ausführungen anhand des Zeitplans berechnet.After the first execution, subsequent executions are calculated by using the schedule. Daher erfolgen die weiteren Ausführungen am 11.04.2017 um 14 Uhr, am 13.04.2017 um 14 Uhr, am 15.04.2017 um 14 Uhr usw.Therefore, the subsequent executions are on 2017-04-11 at 2:00 PM, then on 2017-04-13 at 2:00 PM, then on 2017-04-15 at 2:00 PM, and so on.

Wenn die Stunden oder Minuten im Zeitplan für einen Trigger nicht festgelegt sind, werden die Stunden oder Minuten der ersten Ausführung als Standardwerte verwendet.Finally, when hours or minutes aren’t set in the schedule for a trigger, the hours or minutes of the first execution are used as defaults.

schedule-Eigenschaftschedule property

Mithilfe von schedule lässt sich die Anzahl von Triggerausführungen begrenzen.You can use schedule to limit the number of trigger executions. Beispiel: Wenn für einen Trigger mit einer monatlichen Häufigkeit nur die Ausführung am 31. Tag geplant ist, wird der Trigger nur in Monaten mit 31 Tagen ausgeführt.For example, if a trigger with a monthly frequency is scheduled to run only on day 31, the trigger runs only in those months that have a thirty-first day.

Mithilfe von schedule lässt sich die Anzahl von Triggerausführungen auch erweitern.You can also use schedule to expand the number of trigger executions. Beispiel: Ein Trigger mit einem monatlichen Intervall, dessen Ausführung für die Monatstage 1 und 2 geplant ist, wird an den 1. und 2. Tagen des Monats anstatt einmal im Monat ausgeführt.For example, a trigger with a monthly frequency that's scheduled to run on month days 1 and 2, runs on the first and second days of the month, rather than once a month.

Bei Angabe mehrerer schedule-Elemente werden die Zeitplaneinstellungen in absteigender Reihenfolge ausgewertet – also von der Wochennummer über Monatstag und Wochentag bis hin zu Stunde und Minute.If multiple schedule elements are specified, the order of evaluation is from the largest to the smallest schedule setting: week number, month day, week day, hour, minute.

Die folgende Tabelle enthält eine ausführliche Beschreibung der schedule-Elemente:The following table describes the schedule elements in detail:

JSON-ElementJSON element BESCHREIBUNGDescription Gültige WerteValid values
minutesminutes Minuten der Stunde, zu denen der Trigger ausgeführt wirdMinutes of the hour at which the trigger runs. – Integer- Integer
– Array mit ganzen Zahlen- Array of integers
hourshours Stunden des Tages, zu denen der Trigger ausgeführt wirdHours of the day at which the trigger runs. – Integer- Integer
– Array mit ganzen Zahlen- Array of integers
weekDaysweekDays Tage der Woche, an denen der Trigger ausgeführt wirdDays of the week the trigger runs. Der Wert kann nur bei wöchentlicher Häufigkeit angegeben werden.The value can be specified only with a weekly frequency.
– „Monday“- Monday
– „Tuesday“- Tuesday
– „Wednesday“- Wednesday
– „Thursday“- Thursday
– „Friday“- Friday
– „Saturday“- Saturday
– „Sunday“- Sunday
– Array von Tageswerten (die maximale Arraygröße ist 7)- Array of day values (maximum array size is 7)

Bei Tageswerten wird nicht zwischen Groß- und Kleinschreibung unterschieden.Day values are not case-sensitive
monthlyOccurrencesmonthlyOccurrences Tage des Monats, an denen der Trigger ausgeführt wird.Days of the month on which the trigger runs. Der Wert kann nur bei monatlicher Häufigkeit angegeben werden.The value can be specified with a monthly frequency only. Array mit monthlyOccurrence-Objekten: { "day": day, "occurrence": occurrence }- Array of monthlyOccurrence objects: { "day": day, "occurrence": occurrence }
– Das day-Attribut ist der Tag der Woche, an dem der Trigger ausgeführt wird.- The day attribute is the day of the week on which the trigger runs. Beispiel: Eine monthlyOccurrences-Eigenschaft mit dem day-Wert {Sunday} bedeutet jeden Sonntag des Monats.For example, a monthlyOccurrences property with a day value of {Sunday} means every Sunday of the month. Das day-Attribut ist erforderlich.The day attribute is required.
– Das occurrence-Attribut ist das Vorkommen des angegebenen day-Attributs innerhalb des Monats.- The occurrence attribute is the occurrence of the specified day during the month. Beispiel: Eine monthlyOccurrences-Eigenschaft mit dem day- und occurrence-Wert {Sunday, -1} bedeutet den letzten Sonntag des Monats.For example, a monthlyOccurrences property with day and occurrence values of {Sunday, -1} means the last Sunday of the month. Das occurrence-Attribut ist optional.The occurrence attribute is optional.
monthDaysmonthDays Tag des Monats, an dem der Trigger ausgeführt wird.Day of the month on which the trigger runs. Der Wert kann nur bei monatlicher Häufigkeit angegeben werden.The value can be specified with a monthly frequency only. – Beliebiger Wert, für den Folgendes gilt: <= -1 und >= -31- Any value <= -1 and >= -31
– Beliebiger Wert, für den Folgendes gilt: >= 1 und <= 31- Any value >= 1 and <= 31
– Array von Werten- Array of values

Trigger für ein rollierendes FensterTumbling window trigger

Trigger für ein rollierendes Fenster werden ab einem angegebenen Startzeitpunkt in regelmäßigen Zeitintervallen ausgelöst, während der Zustand beibehalten wird.Tumbling window triggers are a type of trigger that fires at a periodic time interval from a specified start time, while retaining state. Bei rollierenden Fenstern handelt es sich um eine Reihe von nicht überlappenden, aneinandergrenzenden Zeitintervallen mit einer festen Größe.Tumbling windows are a series of fixed-sized, non-overlapping, and contiguous time intervals.

Weitere Informationen zu Triggern für ein rollierendes Fenster und Beispiele finden Sie unter Erstellen eines Triggers zum Ausführen einer Pipeline für ein rollierendes Fenster.For more information about tumbling window triggers and for examples, see Create a tumbling window trigger.

Ereignisbasierter TriggerEvent-based trigger

Ein ereignisbasierter Trigger führt Pipelines als Reaktion auf ein Ereignis (etwa den Eingang einer Datei oder die Löschung einer Datei) in Azure Blob Storage aus.An event-based trigger runs pipelines in response to an event, such as the arrival of a file, or the deletion of a file, in Azure Blob Storage.

Weitere Informationen zum ereignisbasierten Trigger finden Sie unter Create a trigger that runs a pipeline in response to an event (Erstellen eines Triggers, der eine Pipeline als Reaktion auf ein Ereignis ausführt).For more information about event-based triggers, see Create a trigger that runs a pipeline in response to an event.

Beispiele für Wiederholungszeitpläne von TriggernExamples of trigger recurrence schedules

Dieser Abschnitt enthält Beispiele für Wiederholungszeitpläne.This section provides examples of recurrence schedules. Der Schwerpunkt liegt auf dem schedule-Objekt und seinen Elementen.It focuses on the schedule object and its elements.

In den Beispielen wird angenommen, dass der interval-Wert „1“ festgelegt ist, und der frequency-Wert gemäß der Zeitplandefinition richtig ist.The examples assume that the interval value is 1, and that the frequency value is correct according to the schedule definition. Beispielsweise können nicht gleichzeitig der frequency-Wert „day“ und die Änderung monthDays im schedule-Objekt angegeben werden.For example, you can't have a frequency value of "day" and also have a monthDays modification in the schedule object. Diese Arten von Beschränkungen sind in der Tabelle im vorherigen Abschnitt beschrieben.These kinds of restrictions are described in the table in the preceding section.

BeispielExample BESCHREIBUNGDescription
{"hours":[5]} Ausführung täglich um 05:00 Uhr.Run at 5:00 AM every day.
{"minutes":[15], "hours":[5]} Ausführung täglich um 05:15 Uhr.Run at 5:15 AM every day.
{"minutes":[15], "hours":[5,17]} Ausführung täglich um 05:15 und 17:15 Uhr.Run at 5:15 AM and 5:15 PM every day.
{"minutes":[15,45], "hours":[5,17]} Ausführung täglich um 05:15 Uhr, 05:45 Uhr, 17:15 Uhr und 17:45 Uhr.Run at 5:15 AM, 5:45 AM, 5:15 PM, and 5:45 PM every day.
{"minutes":[0,15,30,45]} Ausführung alle 15 Minuten.Run every 15 minutes.
{hours":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]} Stündliche Ausführung.Run every hour.

Dieser Trigger wird stündlich ausgeführt.This trigger runs every hour. Die Minuten werden vom startTime-Wert gesteuert, wenn ein Wert angegeben ist.The minutes are controlled by the startTime value, when a value is specified. Wenn kein Wert angegeben ist, werden die Minuten von der Erstellungszeit gesteuert.If a value isn't specified, the minutes are controlled by the creation time. Lautet die Start- oder Erstellungszeit also beispielsweise 12:25 Uhr, wird der Trigger um 00:25 Uhr, 01:25 Uhr, 02:25 Uhr etc. und um 23:25 Uhr ausgeführt.For example, if the start time or creation time (whichever applies) is 12:25 PM, the trigger runs at 00:25, 01:25, 02:25, ..., and 23:25.

Dieser Zeitplan entspricht einem Trigger mit dem frequency-Wert „hour“, dem interval-Wert „1“ und ohne schedule-Wert.This schedule is equivalent to having a trigger with a frequency value of "hour", an interval value of 1, and no schedule. Dieser Zeitplan kann mit anderen Werten für frequency und interval auch zur Erstellung anderer Trigger verwendet werden.This schedule can be used with different frequency and interval values to create other triggers. Beispiel: Mit dem frequency-Wert „month“ wird der Zeitplan nur einmal im Monat ausgeführt statt wie beim frequency-Wert „day“ jeden Tag.For example, when the frequency value is "month", the schedule runs only once a month, rather than every day when the frequency value is "day".
{"minutes":[0]} Ausführung jeweils zur vollen Stunde.Run every hour on the hour.

Dieser Trigger wird immer zur vollen Stunde ab 00:00 Uhr (dann 01:00 Uhr, 02:00 Uhr und so weiter) ausgeführt.This trigger runs every hour on the hour starting at 12:00 AM, 1:00 AM, 2:00 AM, and so on.

Dieser Zeitplan entspricht einem Trigger mit dem frequency-Wert „hour“ und einem startTime-Wert von null Minuten und ohne schedule-Wert, aber mit dem frequency-Wert „day“.This schedule is equivalent to a trigger with a frequency value of "hour" and a startTime value of zero minutes, and no schedule but a frequency value of "day". Wenn der frequency-Wert „week“ oder „month“ ist, wird der Zeitplan nur an einem Tag in der Woche bzw. im Monat ausgeführt.If the frequency value is "week" or "month", the schedule executes one day a week or one day a month only, respectively.
{"minutes":[15]} Stündliche Ausführung jeweils 15 Minuten nach der vollen Stunde.Run at 15 minutes past every hour.

Dieser Trigger wird stündlich immer 15 Minuten nach der vollen Stunde ab 00:15 Uhr, dann 01:15 Uhr, 02:15 Uhr und so weiter ausgeführt und endet um 23:15 Uhr.This trigger runs every hour at 15 minutes past the hour starting at 00:15 AM, 1:15 AM, 2:15 AM, and so on, and ending at 11:15 PM.
{"hours":[17], "weekDays":["saturday"]} Wöchentliche Ausführung, immer samstags um 17:00 Uhr.Run at 5:00 PM on Saturdays every week.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Wöchentliche Ausführung am Montag, Mittwoch und Freitag, jeweils um 17:00 Uhr.Run at 5:00 PM on Monday, Wednesday, and Friday every week.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Wöchentliche Ausführung am Montag, Mittwoch und Freitag, jeweils um 17:15 und 17:45 Uhr.Run at 5:15 PM and 5:45 PM on Monday, Wednesday, and Friday every week.
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Ausführung an Wochentagen im 15-Minuten-Takt.Run every 15 minutes on weekdays.
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Ausführung an Wochentagen zwischen 09:00 Uhr und 16:45 Uhr im 15-Minuten-Takt.Run every 15 minutes on weekdays between 9:00 AM and 4:45 PM.
{"weekDays":["tuesday", "thursday"]} Ausführung jeweils dienstags und donnerstags zur festgelegten Startzeit.Run on Tuesdays and Thursdays at the specified start time.
{"minutes":[0], "hours":[6], "monthDays":[28]} Ausführung um 06:00 Uhr am 28. Tag des Monats (bei einem frequency-Wert von „month“)Run at 6:00 AM on the twenty-eighth day of every month (assuming a frequency value of "month").
{"minutes":[0], "hours":[6], "monthDays":[-1]} Ausführung um 06:00 Uhr am letzten Tag des Monats.Run at 6:00 AM on the last day of the month.

Zur Ausführung eines Triggers am letzten Tag eines Monats verwenden Sie „-1“ anstatt Tag 28, 29, 30 oder 31.To run a trigger on the last day of a month, use -1 instead of day 28, 29, 30, or 31.
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} Ausführung jeweils am ersten und letzten Tag jedes Monats um 06:00 Uhr.Run at 6:00 AM on the first and last day of every month.
{monthDays":[1,14]} Ausführung jeweils am ersten und 14. Tag jedes Monats zur festgelegten StartzeitRun on the first and fourteenth day of every month at the specified start time.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Ausführung am ersten Freitag jedes Monats um 05:00 Uhr.Run on the first Friday of every month at 5:00 AM.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Ausführung am ersten Freitag jedes Monats zur festgelegten Startzeit.Run on the first Friday of every month at the specified start time.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Monatliche Ausführung am dritten Freitag ab Monatsende zur festgelegten Startzeit.Run on the third Friday from the end of the month, every month, at the specified start time.
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Ausführung am ersten und letzten Freitag jedes Monats um 05:15 Uhr.Run on the first and last Friday of every month at 5:15 AM.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Ausführung am ersten und letzten Freitag jedes Monats zur festgelegten Startzeit.Run on the first and last Friday of every month at the specified start time.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Ausführung am fünften Freitag jedes Monats zur festgelegten Startzeit.Run on the fifth Friday of every month at the specified start time.

Wenn kein fünfter Freitag im Monat vorhanden ist, wird die Pipeline nicht ausgeführt.When there's no fifth Friday in a month, the pipeline doesn't run. Zur Ausführung des Triggers am letzten Freitag des Monats empfiehlt sich u.U. die Verwendung von „-1“ anstelle von „5“ als occurrence-Wert.To run the trigger on the last occurring Friday of the month, consider using -1 instead of 5 for the occurrence value.
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} Ausführung im 15-Minuten-Takt am letzten Freitag des Monats.Run every 15 minutes on the last Friday of the month.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Ausführung um 5:15, 5:45, 17:15 und 17:45 Uhr am dritten Mittwoch jedes Monats.Run at 5:15 AM, 5:45 AM, 5:15 PM, and 5:45 PM on the third Wednesday of every month.

Vergleich von TriggertypenTrigger type comparison

Der Trigger für ein rollierendes Fenster und der Zeitplantrigger basieren jeweils auf Zeit-Heartbeats.The tumbling window trigger and the schedule trigger both operate on time heartbeats. Inwiefern unterscheiden sie sich?How are they different?

In der folgenden Tabelle werden der Trigger für ein rollierendes Fenster und der Zeitplantrigger verglichen:The following table provides a comparison of the tumbling window trigger and schedule trigger:

Trigger für ein rollierendes FensterTumbling window trigger ZeitplantriggerSchedule trigger
AbgleichsszenarienBackfill scenarios Unterstützt.Supported. Pipelineausführungen können für Fenster in der Vergangenheit geplant werden.Pipeline runs can be scheduled for windows in the past. Nicht unterstützt.Not supported. Pipelineausführungen können nur in Zeiträumen ab der aktuellen Zeit und der Zukunft ausgeführt werden.Pipeline runs can be executed only on time periods from the current time and the future.
ZuverlässigkeitReliability 100 % zuverlässig.100% reliability. Pipelineausführungen können für alle Fenster ab einem festgelegten Datum ohne Lücken geplant werden.Pipeline runs can be scheduled for all windows from a specified start date without gaps. Weniger zuverlässig.Less reliable.
WiederholungsfunktionRetry capability Unterstützt.Supported. Für fehlgeschlagene Pipelineausführungen gilt standardmäßig eine Wiederholungsrichtlinie mit dem Wert 0 oder eine vom Benutzer in der Triggerdefinition angegebene Richtlinie.Failed pipeline runs have a default retry policy of 0, or a policy that's specified by the user in the trigger definition. Eine Wiederholung erfolgt automatisch, wenn Pipelineausführungen aufgrund von Parallelitäts-/Server-/Einschränkungsgrenzwerten (d.h. mit den Statuscodes „400: Benutzerfehler“, „429: Zu viele Anforderungen“ und „500: Interner Serverfehler“) fehlschlagen.Automatically retries when pipeline runs fail due to concurrency/server/throttling limits (that is, status codes 400: User Error, 429: Too many requests, and 500: Internal Server error). Nicht unterstützt.Not supported.
ConcurrencyConcurrency Unterstützt.Supported. Benutzer können Parallelitätsgrenzwerte für den Trigger explizit festlegen.Users can explicitly set concurrency limits for the trigger. Zwischen 1 und 50 parallele ausgelöste Pipelineausführungen sind zulässig.Allows between 1 and 50 concurrent triggered pipeline runs. Nicht unterstützt.Not supported.
SystemvariablenSystem variables Unterstützt die Verwendung der Systemvariablen WindowStart und WindowEnd.Supports the use of the WindowStart and WindowEnd system variables. Benutzer haben Zugriff auf triggerOutputs().windowStartTime und triggerOutputs().windowEndTime als Systemvariablen in der Triggerdefinition.Users can access triggerOutputs().windowStartTime and triggerOutputs().windowEndTime as trigger system variables in the trigger definition. Die Werte werden jeweils als Start- und Endzeit des Fensters verwendet.The values are used as the window start time and window end time, respectively. Beispiel: Die Definition eines stündlich ausgeführten Triggers für ein rollierendes Fenster lautet für das Fenster von 1:00 Uhr bis 2:00 Uhr triggerOutputs().WindowStartTime = 2017-09-01T01:00:00Z und triggerOutputs().WindowEndTime = 2017-09-01T02:00:00Z.For example, for a tumbling window trigger that runs every hour, for the window 1:00 AM to 2:00 AM, the definition is triggerOutputs().WindowStartTime = 2017-09-01T01:00:00Z and triggerOutputs().WindowEndTime = 2017-09-01T02:00:00Z. Nicht unterstützt.Not supported.
Beziehung zwischen Pipeline und TriggerPipeline-to-trigger relationship Unterstützt eine 1:1-Beziehung.Supports a one-to-one relationship. Nur eine Pipeline kann ausgelöst werden.Only one pipeline can be triggered. Unterstützt m:m-Beziehungen.Supports many-to-many relationships. Mehrere Trigger können eine einzelne Pipeline starten.Multiple triggers can kick off a single pipeline. Ein einzelnder Trigger kann mehrere Pipelines starten.A single trigger can kick off multiple pipelines.

Nächste SchritteNext steps

Arbeiten Sie die folgenden Tutorials durch:See the following tutorials: