Pipeline-körning och utlösare i Azure Data FactoryPipeline execution and triggers in Azure Data Factory

En pipelinekörning i Azure Data Factory definierar en instans av en pipeline-åtgärd.A pipeline run in Azure Data Factory defines an instance of a pipeline execution. Anta till exempel att du har en pipeline som körs kl. 8.00, 9.00 och 10.00.For example, say you have a pipeline that executes at 8:00 AM, 9:00 AM, and 10:00 AM. Det skulle i så fall vara tre separata körningar av pipelinen, eller pipelinekörningar.In this case, there are three separate runs of the pipeline, or pipeline runs. Varje pipelinekörning har ett unikt pipelinekörnings-ID.Each pipeline run has a unique pipeline run ID. Ett körnings-ID är ett GUID som unikt definierar den specifika pipelinekörningen.A run ID is a GUID that uniquely defines that particular pipeline run.

Pipelinekörningar instansieras normalt genom att skicka argument till parametrar som du definierar i pipelinen.Pipeline runs are typically instantiated by passing arguments to parameters that you define in the pipeline. Du kan köra en pipeline antingen manuellt eller via en utlösare.You can execute a pipeline either manually or by using a trigger. Den här artikeln innehåller information om båda körningssätten.This article provides details about both ways of executing a pipeline.

Manuell körning (på begäran)Manual execution (on-demand)

En manuell körning av en pipeline kallas även för en körning på begäran.The manual execution of a pipeline is also referred to as on-demand execution.

Anta till exempel att du har en grundläggande pipeline som heter copyPipeline, som du vill köra.For example, say you have a basic pipeline named copyPipeline that you want to execute. Pipelinen har en enda aktivitet som kopierar från en källmapp i Azure Blob Storage till en målmapp i samma lagringsutrymme.The pipeline has a single activity that copies from an Azure Blob storage source folder to a destination folder in the same storage. Följande JSON-definition visar det här pipelineexemplet: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"
            }
        }
    }
}

Pipelinen har två parametrar i JSON-definitionen: sourceBlobContainer och sinkBlobContainer.In the JSON definition, the pipeline takes two parameters: sourceBlobContainer and sinkBlobContainer. Du skickar värden till parametrarna vid körning.You pass values to these parameters at runtime.

Du kan köra din pipeline manuellt med hjälp av en av följande metoder: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

Kommandot i följande exempel visar hur du kör din pipeline manuellt med hjälp av REST-API:t: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

Ett mer komplett exempel finns i Snabbstart: skapa en datafabrik med hjälp av REST API.For a complete sample, see Quickstart: Create a data factory by using the REST API.

Azure PowerShellAzure PowerShell

Anteckning

Den här artikeln har uppdaterats till att använda den nya Azure PowerShell Az-modulen.This article has been updated to use the new Azure PowerShell Az module. Du kan fortfarande använda modulen AzureRM som kommer att fortsätta att ta emot felkorrigeringar fram till december 2020 eller längre.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Mer information om den nya Az-modulen och AzureRM-kompatibilitet finns i Introduktion till den nya Azure PowerShell Az-modulen.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Instruktioner för installation av Az-modulen finns i Installera Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Kommandot i följande exempel visar hur du kör din pipeline manuellt med hjälp av Azure PowerShell: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

Du skickar parametrar i texten i nyttolasten för begäran.You pass parameters in the body of the request payload. I .NET SDK, Azure PowerShell och Python SDK kan du skicka värden i en ordlista som skickas som ett argument i anropet: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"
}

Svarsnyttolasten är ett unikt ID för pipeline-körningen:The response payload is a unique ID of the pipeline run:

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

Ett mer komplett exempel finns i Snabbstart: skapa en datafabrik med hjälp av Azure PowerShell.For a complete sample, see Quickstart: Create a data factory by using Azure PowerShell.

.NET SDK.NET SDK

Anropet i följande exempel visar hur du kör din pipeline manuellt med hjälp av .NET SDK:The following sample call shows you how to manually run your pipeline by using the .NET SDK:

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

Ett mer komplett exempel finns i Snabbstart: skapa en datafabrik med hjälp av .NET SDK.For a complete sample, see Quickstart: Create a data factory by using the .NET SDK.

Anteckning

Du kan använda .NET SDK till att anropa Data Factory-pipeliner från Azure Functions, från dina egna webbtjänster och så vidare.You can use the .NET SDK to invoke Data Factory pipelines from Azure Functions, from your own web services, and so on.

Körning via utlösareTrigger execution

Du kan även köra en pipelinekörning med utlösare.Triggers are another way that you can execute a pipeline run. Utlösare representerar en bearbetningsenhet som avgör när en pipeline-körning måste startas.Triggers represent a unit of processing that determines when a pipeline execution needs to be kicked off. Data Factory har för närvarande stöd för tre typer av utlösare:Currently, Data Factory supports three types of triggers:
  • Schemautlösare: en utlösare som anropar en pipeline enligt ett tidsschema.Schedule trigger: A trigger that invokes a pipeline on a wall-clock schedule.

  • Utlösare för rullande fönster: en utlösare som körs med ett regelbundet intervall och samtidigt bibehåller ett tillstånd.Tumbling window trigger: A trigger that operates on a periodic interval, while also retaining state.

  • Händelsebaserad utlösare: en utlösare som svarar på en händelse.Event-based trigger: A trigger that responds to an event.

Pipelines och utlösare har en många-till-många-relation (förutom för utlösare för rullande fönster). Flera utlösare kan starta en enda pipeline, eller en enskild utlösare kan starta flera pipeliner.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. I följande utlösardefinition refererar pipelines-egenskapen till en lista med pipeliner som utlöses av den aktuella utlösaren.In the following trigger definition, the pipelines property refers to a list of pipelines that are triggered by the particular trigger. Egenskapsdefinition innehåller värden för pipelineparametrarna.The property definition includes values for the pipeline parameters.

Grundläggande utlösardefinitionBasic 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>"
                }
            }
        ]
    }
}

SchemautlösareSchedule trigger

En schemautlösare kör pipeliner enligt ett tidsschema.A schedule trigger runs pipelines on a wall-clock schedule. Den här utlösaren har stöd för periodiska och avancerade kalenderalternativ.This trigger supports periodic and advanced calendar options. Utlösaren har till exempel stöd för intervall som ”varje vecka” eller ”måndagar kl. 17.00 och torsdagar kl. 21:00”.For example, the trigger supports intervals like "weekly" or "Monday at 5:00 PM and Thursday at 9:00 PM." Schemautlösaren är flexibel eftersom datamängdsmönstret är oberoende och utlösaren inte gör skillnad mellan tidsseriedata och andra typer av data.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.

Mer information om schemautlösare och exempel hittar du i Skapa en schemautlösare.For more information about schedule triggers and for examples, see Create a schedule trigger.

Definition av schemautlösareSchedule trigger definition

När du skapar en schemautlösare anger du schemaläggning och upprepning med en JSON-definition.When you create a schedule trigger, you specify scheduling and recurrence by using a JSON definition.

Om du vill att schemautlösaren ska starta en pipelinekörning tar du med en pipelinereferens till den aktuella pipelinen i utlösardefinitionen.To have your schedule trigger kick off a pipeline run, include a pipeline reference of the particular pipeline in the trigger definition. Pipeliner och utlösare har en många-till-många-relation.Pipelines and triggers have a many-to-many relationship. Flera utlösare kan starta en pipeline.Multiple triggers can kick off a single pipeline. En enskild utlösare kan starta flera pipeliner.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>"
      }
    }
  ]}
}

Viktigt

Egenskapen parameters är en obligatorisk egenskap i elementet pipelines.The parameters property is a mandatory property of the pipelines element. Om din pipeline inte tar emot några parametrar måste du ta med en JSON-definition för egenskapen parameters.If your pipeline doesn't take any parameters, you must include an empty JSON definition for the parameters property.

SchemaöversiktSchema overview

I följande tabell ges en översikt över de viktigaste schemaelementen relaterade till upprepning och schemaläggning i en utlösare:The following table provides a high-level overview of the major schema elements that are related to recurrence and scheduling a trigger:

JSON-egenskapJSON property BeskrivningDescription
startTimestartTime Ett datum/tid-värde.A date-time value. För grundläggande scheman gäller värdet för egenskapen startTime den första förekomsten.For basic schedules, the value of the startTime property applies to the first occurrence. För komplexa scheman startar utlösaren tidigast vid det angivna värdet för startTime.For complex schedules, the trigger starts no sooner than the specified startTime value.
endTimeendTime Slutdatum och tidpunkt för utlösaren.The end date and time for the trigger. Utlösaren körs inte efter angivet slutdatum och sluttid.The trigger doesn't execute after the specified end date and time. Värdet för egenskapen kan inte ha passerat.The value for the property can't be in the past.
timeZonetimeZone Tidszonen.The time zone. För närvarande stöds bara tidszonen UTC.Currently, only the UTC time zone is supported.
recurrencerecurrence Ett upprepningsobjekt som anger upprepningsregler för utlösaren.A recurrence object that specifies the recurrence rules for the trigger. Upprepningsobjektet har stöd för elementen frequency (frekvens), interval (intervall), endTime (sluttid), count (antal) och schedule (schema).The recurrence object supports the frequency, interval, endTime, count, and schedule elements. När du definierar ett upprepningsobjekt är elementet frequency obligatoriskt.When a recurrence object is defined, the frequency element is required. De andra elementen är valfria.The other elements of the recurrence object are optional.
frequencyfrequency Frekvensen som utlösaren ska upprepas med.The unit of frequency at which the trigger recurs. Du kan använda värden som ”minute”, ”hour”, ”day”, ”week” och ”month”.The supported values include "minute", "hour", "day", "week", and "month".
intervalinterval Ett positivt heltal som anger intervallet för värdet för frequency.A positive integer that denotes the interval for the frequency value. Värdet frequency bestämmer hur ofta utlösaren ska köras.The frequency value determines how often the trigger runs. Om interval till exempel är 3 och frequency är ”week” (vecka) upprepas utlösaren var tredje vecka.For example, if the interval is 3 and the frequency is "week", the trigger recurs every three weeks.
scheduleschedule Upprepningsschemat för utlösaren.The recurrence schedule for the trigger. En utlösare med ett angivet värde för frequency ändrar sin upprepning baserat på ett upprepningsschema.A trigger with a specified frequency value alters its recurrence based on a recurrence schedule. Egenskapen schedule innehåller ändringar för upprepningen som baseras på minuter, timmar, veckodagar, dagar i månaden och veckonummer.The schedule property contains modifications for the recurrence that are based on minutes, hours, week days, month days, and week number.

Exempel på schemaläggning av utlösareSchedule 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": {}
            }
        ]
    }
}

Standardvärden för scheman, begränsningar och exempelSchema defaults, limits, and examples

JSON-egenskapJSON property TypType KrävsRequired StandardvärdeDefault value Giltiga värdenValid values ExempelExample
startTimestartTime strängstring JaYes IngenNone ISO 8601 datum/tidISO 8601 date-times "startTime" : "2013-01-09T09:30:00-08:00"
recurrencerecurrence objektobject JaYes IngenNone Ett upprepningsobjektA recurrence object "recurrence" : { "frequency" : "monthly", "interval" : 1 }
intervalinterval nummernumber NejNo 11 1 till 10001 to 1000 "interval":10
endTimeendTime strängstring JaYes IngenNone Ett datum/tid-värde som representerar en tidpunkt i framtidenA date-time value that represents a time in the future "endTime" : "2013-02-09T09:30:00-08:00"
scheduleschedule objektobject NejNo IngenNone Ett schemaobjektA schedule object "schedule" : { "minute" : [30], "hour" : [8,17] }

Egenskapen startTimestartTime property

I följande tabell visas hur egenskapen startTime styr körningen av en utlösare:The following table shows you how the startTime property controls a trigger run:

startTime-värdestartTime value Upprepning utan schemaRecurrence without schedule Upprepning med schemaRecurrence with schedule
Starttiden är i det förflutnaStart time is in the past Beräknar första framtida körningstid efter starttiden och körs vid den tidpunkten.Calculates the first future execution time after the start time, and runs at that time.

Utför efterföljande körningar baserat på beräkningar från senaste körningstid.Runs subsequent executions calculated from the last execution time.

Se exemplet som följer den här tabellen.See the example that follows this table.
Utlösaren startar tidigast den angivna starttiden.The trigger starts no sooner than the specified start time. Den första förekomsten baseras på schemat som beräknas från starttiden.The first occurrence is based on the schedule, calculated from the start time.

Kör efterföljande körningar baserat på upprepningsschemat.Runs subsequent executions based on the recurrence schedule.
Starttiden är i framtiden eller aktuell tidStart time is in the future or the current time Körs en gång på angiven starttid.Runs once at the specified start time.

Utför efterföljande körningar baserat på beräkningar från senaste körningstid.Runs subsequent executions calculated from the last execution time.
Utlösaren startar tidigast den angivna starttiden.The trigger starts no sooner than the specified start time. Den första förekomsten baseras på schemat som beräknas från starttiden.The first occurrence is based on the schedule, calculated from the start time.

Kör efterföljande körningar baserat på upprepningsschemat.Runs subsequent executions based on the recurrence schedule.

Låt oss se vad som händer när starttiden har passerat, med upprepning men utan schema.Let's look at an example of what happens when the start time is in the past, with a recurrence, but no schedule. Anta att den aktuella tiden är 2017-04-08 13:00, starttiden är 2017-04-07 14:00 och upprepningen är varannan dag.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. ( Upprepning svärdet definieras genom att ange frekvens egenskapen till "Day" och egenskapen Interval till 2.) Observera att StartTime -värdet är i det förflutna och inträffar före den aktuella tiden.(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.

Under dessa villkor är den första körningen 2017-04-09 vid 14:00.Under these conditions, the first execution is 2017-04-09 at 14:00. Scheduler-motor beräknar körningsförekomster från starttiden.The Scheduler engine calculates execution occurrences from the start time. Alla tidigare instanser ignoreras.Any instances in the past are discarded. Motorn använder nästa förekomst som förekommer i framtiden.The engine uses the next instance that occurs in the future. I det här scenariot är starttiden 2017-04-07 kl. 02:00.In this scenario, the start time is 2017-04-07 at 2:00 PM. Nästa instans är två dagar från den tiden, vilket är 2017-04-09 kl. 02:00.The next instance is two days from that time, which is on 2017-04-09 at 2:00 PM.

Den första körningstiden är samma även om startTime är 2017-04-05 14:00 eller 2017-04-01 14:00.The first execution time is the same even whether startTime is 2017-04-05 14:00 or 2017-04-01 14:00. Efter den första körningen beräknas efterföljande körningar med hjälp av schemat.After the first execution, subsequent executions are calculated by using the schedule. Därför utförs efterföljande körningar 2017-04-11 kl. 14:00, och sedan 2017-04-13 kl. 14:00, sedan 2017-04-15 kl. 14:00 och så vidare.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.

När inga timmar eller minuter anges i schemat för en utlösare används som standard samma timmar och minuter som i den första körningen.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.

Egenskapen scheduleschedule property

Du kan använda ett schema för att begränsa antalet utlösarkörningar.You can use schedule to limit the number of trigger executions. Om en utlösare med månatlig frekvens till exempel har ett schema som bara körs dag 31 så körs utlösaren bara de månader som har en 31:a dag.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.

Du kan även använda ett schema för att utöka antalet utlösarkörningar.You can also use schedule to expand the number of trigger executions. En utlösare med månatlig frekvens som har schemalagts för att köras dag 1 och 2 körs den första och andra dagen i månaden snarare än en gång i månaden.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.

Om flera schemaelement anges är utvärderingsordningen från den största till minsta schemainställningen – veckonummer, dag i månaden, veckodag, timme och minut.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.

I följande tabell beskrivs schedule-elementen i detalj:The following table describes the schedule elements in detail:

JSON-elementJSON element BeskrivningDescription Giltiga värdenValid values
minutesminutes Minuter för den timme då utlösaren körs.Minutes of the hour at which the trigger runs. – Heltal- Integer
– Heltalsmatris- Array of integers
hourshours Timmar på dagen då utlösaren körs.Hours of the day at which the trigger runs. – Heltal- Integer
– Heltalsmatris- Array of integers
weekDaysweekDays Veckodagar då utlösaren körs.Days of the week the trigger runs. Värdet kan bara anges med en veckofrekvens.The value can be specified only with a weekly frequency.
– Måndag- Monday
– Tisdag- Tuesday
– Onsdag- Wednesday
– Torsdag- Thursday
– Fredag- Friday
– Lördag- Saturday
– Söndag- Sunday
– Matris med dagvärden (maximal matrisstorlek är 7)- Array of day values (maximum array size is 7)

Dagvärdena är inte skiftlägeskänsligaDay values are not case-sensitive
monthlyOccurrencesmonthlyOccurrences Dagar i månaden som utlösaren körs på.Days of the month on which the trigger runs. Värdet kan bara anges med en månadsfrekvens.The value can be specified with a monthly frequency only. – Matris med monthlyOccurrence -objekt: { "day": day, "occurrence": occurrence }- Array of monthlyOccurrence objects: { "day": day, "occurrence": occurrence }
– Attributet day är veckodagen som utlösaren körs på.- The day attribute is the day of the week on which the trigger runs. Om egenskapen monthlyOccurrences till exempel har day-värdet {Sunday} innebär det varje söndag i månaden.For example, a monthlyOccurrences property with a day value of {Sunday} means every Sunday of the month. Attributet day är obligatoriskt.The day attribute is required.
– Attributet occurrence är förekomsten av day-värdet i månaden.- The occurrence attribute is the occurrence of the specified day during the month. Om egenskapen monthlyOccurrences till exempel har day- och occurrence-värdena {Sunday, -1} innebär det den sista söndagen i månaden.For example, a monthlyOccurrences property with day and occurrence values of {Sunday, -1} means the last Sunday of the month. Attributet occurrence är valfritt.The occurrence attribute is optional.
monthDaysmonthDays Dagar i månaden som utlösaren körs på.Day of the month on which the trigger runs. Värdet kan bara anges med en månadsfrekvens.The value can be specified with a monthly frequency only. – Ett värde <= -1 och >= -31- Any value <= -1 and >= -31
– Ett värde > = 1 och < = 31- Any value >= 1 and <= 31
– Matris med värden- Array of values

Utlösare för rullande fönsterTumbling window trigger

Utlösare för rullande fönster är en typ av utlösare som går igång med jämna tidsintervall från en angiven starttid och behåller sitt tillstånd.Tumbling window triggers are a type of trigger that fires at a periodic time interval from a specified start time, while retaining state. Rullande fönster är en serie sammanhängande tidsintervall med fast storlek som inte överlappar.Tumbling windows are a series of fixed-sized, non-overlapping, and contiguous time intervals.

Mer information om utlösare för rullande fönster och exempel finns i Skapa en utlösare för rullande fönster.For more information about tumbling window triggers and for examples, see Create a tumbling window trigger.

Händelsebaserad utlösareEvent-based trigger

En händelsebaserade utlösare kör pipeliner som svar på en händelse, till exempel när en fil anländer eller när en fil tas bort i Azure Blob Storage.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.

Läs mer om händelsebaserade utlösare i Skapa en utlösare som kör en pipeline som svar på en händelse.For more information about event-based triggers, see Create a trigger that runs a pipeline in response to an event.

Exempel på scheman för upprepning av utlösareExamples of trigger recurrence schedules

Det här avsnittet innehåller exempel på återkommande scheman.This section provides examples of recurrence schedules. Det fokuserar på de objektet schema och dess element.It focuses on the schedule object and its elements.

I exemplen antas att värdet för interval är 1 och att värdet för frequency är giltigt enligt schemadefinitionen.The examples assume that the interval value is 1, and that the frequency value is correct according to the schedule definition. Du kan till exempel inte använda frequency-värdet ”day” och samtidigt ha en monthDays-modifiering i schedule-objektet.For example, you can't have a frequency value of "day" and also have a monthDays modification in the schedule object. Dessa typer av begränsningar beskrivs i tabellen i föregående avsnitt.These kinds of restrictions are described in the table in the preceding section.

ExempelExample BeskrivningDescription
{"hours":[5]} Kör kl. 05.00 varje dag.Run at 5:00 AM every day.
{"minutes":[15], "hours":[5]} Kör kl. 05.15 varje dag.Run at 5:15 AM every day.
{"minutes":[15], "hours":[5,17]} Kör kl. 05.15 och 17.15 varje dagRun at 5:15 AM and 5:15 PM every day.
{"minutes":[15,45], "hours":[5,17]} Kör kl. 05.15, 5.45, 17.15 och 17.45 varje dag.Run at 5:15 AM, 5:45 AM, 5:15 PM, and 5:45 PM every day.
{"minutes":[0,15,30,45]} Kör var 15:e minut.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]} Kör varje timme.Run every hour.

Den här utlösaren körs varje timme.This trigger runs every hour. Minuterna styrs av startTime-värdet när du anger ett sådant.The minutes are controlled by the startTime value, when a value is specified. Om du inte anger något värde styrs minuterna av tiden för skapandet.If a value isn't specified, the minutes are controlled by the creation time. Om starttiden eller skapandetiden (beroende på vilken som gäller) till exempel är 00.25 körs utlösaren 00.25, 01.25, 02.25, …, 23:25.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.

Schemat motsvarar att ha en utlösare med frequency-värdet ”hour” (timme), interval-värdet 1 och inget schema.This schedule is equivalent to having a trigger with a frequency value of "hour", an interval value of 1, and no schedule. Det här schemat kan användas med andra värden för frequency och interval om du vill skapa andra utlösare.This schedule can be used with different frequency and interval values to create other triggers. När värdet för frequency till exempel är ”month” körs schemat bara en gång i månaden, snarare än varje dag när värdet för frequency är ”day”.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]} Körs varje hel timme.Run every hour on the hour.

Den här utlösaren körs varje timma med början vid 00.00, 01.00, 02.00 och så vidare.This trigger runs every hour on the hour starting at 12:00 AM, 1:00 AM, 2:00 AM, and so on.

Det här schemat motsvarar en utlösare med frequency-värdet ”hour” och startTime-värdet noll minuter, och inget schema men frequency-värdet ”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". Om frequency-värdet är ”week” eller ”month” körs schemat en dag i veckan eller en dag i månaden.If the frequency value is "week" or "month", the schedule executes one day a week or one day a month only, respectively.
{"minutes":[15]} Körs 15 minuter efter varje hel timme.Run at 15 minutes past every hour.

Den här utlösaren körs 15 minuter efter varje timme med början vid 00.15, 01.15, 02.15 och så vidare.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"]} Körs 17.00 varje lördag.Run at 5:00 PM on Saturdays every week.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Körs 17.00 varje måndag, onsdag och fredag.Run at 5:00 PM on Monday, Wednesday, and Friday every week.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Körs 17.15 och 17.45 varje måndag, onsdag och fredag.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"]} Körs var 15:e minut på vardagar.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"]} Körs var 15:e minut på vardagar mellan 09.00 och 16.45.Run every 15 minutes on weekdays between 9:00 AM and 4:45 PM.
{"weekDays":["tuesday", "thursday"]} Körs varje tisdag och torsdag den angivna starttiden.Run on Tuesdays and Thursdays at the specified start time.
{"minutes":[0], "hours":[6], "monthDays":[28]} Körs 06.00 den 28:e dagen varje månad (förutsatt att frequency-värdet är ”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]} Körs 06.00 den sista dagen i månaden.Run at 6:00 AM on the last day of the month.

Om du vill köra en utlösare den sista dagen i månaden ska du använda -1 istället för dag 28, 29, 30 eller 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]} Körs 06.00 den första och sista dagen varje månad.Run at 6:00 AM on the first and last day of every month.
{monthDays":[1,14]} Körs på den första och fjortonde dagen i varje månad på den angivna starttiden.Run on the first and fourteenth day of every month at the specified start time.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Körs den första fredagen i varje månad 05.00.Run on the first Friday of every month at 5:00 AM.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Körs den första fredagen i varje månad vid den angivna starttiden.Run on the first Friday of every month at the specified start time.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Körs den tredje fredagen från slutet av månad, varje månad, vid den angivna starttiden.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}]} Körs den första och sista fredagen i varje månad 05.15.Run on the first and last Friday of every month at 5:15 AM.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Körs den första och sista fredagen i varje månad vid den angivna starttiden.Run on the first and last Friday of every month at the specified start time.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Körs den femte fredagen i varje månad vid den angivna starttiden.Run on the fifth Friday of every month at the specified start time.

När det inte finns någon femte fredag i månaden körs inte pipelinen.When there's no fifth Friday in a month, the pipeline doesn't run. Om du vill köra utlösaren på den sista fredagen i månaden kan du använda -1 istället för 5 som värde för occurrence.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}]} Körs var 15:e minut den sista fredagen i månaden.Run every 15 minutes on the last Friday of the month.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Körs 05.15, 05.45, 17.15 och 17.45 den tredje onsdagen varje månad.Run at 5:15 AM, 5:45 AM, 5:15 PM, and 5:45 PM on the third Wednesday of every month.

Jämförelse av olika utlösareTrigger type comparison

Både utlösare för rullande fönster och schemautlösare körs vid specifika tidpunkter.The tumbling window trigger and the schedule trigger both operate on time heartbeats. Hur skiljer de sig åt?How are they different?

I följande tabell ges en jämförelse av utlösare för rullande fönster och schemautlösare:The following table provides a comparison of the tumbling window trigger and schedule trigger:

Utlösare för rullande fönsterTumbling window trigger SchemautlösareSchedule trigger
ÅterfyllnadsscenarierBackfill scenarios Stöds.Supported. Pipelinekörningar kan schemaläggas för fönster i det förflutna.Pipeline runs can be scheduled for windows in the past. Stöds ej.Not supported. Pipelinekörningar kan bara köras i tidsperioder från nu och framöver.Pipeline runs can be executed only on time periods from the current time and the future.
TillförlitlighetReliability 100 % tillförlitlighet.100% reliability. Pipelinekörningar kan schemaläggas i alla fönster från ett angivet startdatum utan luckor.Pipeline runs can be scheduled for all windows from a specified start date without gaps. Mindre tillförlitligt.Less reliable.
ÅterförsökskapacitetRetry capability Stöds.Supported. Misslyckade pipelinekörningar har återförsöksprincipen 0 som standard, eller en policy som anges av användaren i utlösarens definition.Failed pipeline runs have a default retry policy of 0, or a policy that's specified by the user in the trigger definition. Försöker köra pipelinen igen automatiskt när körningen misslyckas på grund av samtidighet/server/begränsningar (det vill säga statuskoderna 400: användarfel, 429: för många begäranden och 500: internt serverfel).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). Stöds ej.Not supported.
SamtidighetConcurrency Stöds.Supported. Användare kan uttryckligen ange samtidighetsgränser för utlösaren.Users can explicitly set concurrency limits for the trigger. Tillåter mellan 1 och 50 utlösta pipelinekörningar samtidigt.Allows between 1 and 50 concurrent triggered pipeline runs. Stöds ej.Not supported.
SystemvariablerSystem variables Systemvariablerna WindowStart och WindowEnd kan användas.Supports the use of the WindowStart and WindowEnd system variables. Användare kan komma åt triggerOutputs().windowStartTime och triggerOutputs().windowEndTime som systemvariabler för utlösaren i definitionen av utlösaren.Users can access triggerOutputs().windowStartTime and triggerOutputs().windowEndTime as trigger system variables in the trigger definition. Värdena används som start- respektive sluttid för fönstret.The values are used as the window start time and window end time, respectively. För en utlösare för rullande fönster som körs timme i fönstret 01.00 till 02.00 är till exempel definitionen triggerOutputs().WindowStartTime = 2017-09-01T01:00:00Z och 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. Stöds ej.Not supported.
Relation pipeline-till-utlösarePipeline-to-trigger relationship Har stöd för en 1:1-relation.Supports a one-to-one relationship. Endast en pipeline kan utlösas.Only one pipeline can be triggered. Har stöd för många:många-relationer.Supports many-to-many relationships. Flera utlösare kan starta en pipeline.Multiple triggers can kick off a single pipeline. En enskild utlösare kan starta flera pipeliner.A single trigger can kick off multiple pipelines.

Nästa stegNext steps

Se följande självstudiekurser:See the following tutorials: