Spouštění kanálů a aktivační události v Azure Data FactoryPipeline execution and triggers in Azure Data Factory

Spuštění kanálu v Azure Data Factory definuje instanci spuštění kanálu.A pipeline run in Azure Data Factory defines an instance of a pipeline execution. Například si představte, že máte kanál, který se spouští v 8:00, 9:00 a 10:00.For example, say you have a pipeline that executes at 8:00 AM, 9:00 AM, and 10:00 AM. V tomto případě existují tři samostatná spuštění kanálu.In this case, there are three separate runs of the pipeline, or pipeline runs. Každé spuštění kanálu má jedinečné ID spuštění.Each pipeline run has a unique pipeline run ID. Tento identifikátor GUID jedinečným způsobem definuje konkrétní spuštění kanálu.A run ID is a GUID that uniquely defines that particular pipeline run.

Instance spuštění kanálu se obvykle vytvářejí předáváním argumentů do parametrů, které definujete v kanálech.Pipeline runs are typically instantiated by passing arguments to parameters that you define in the pipeline. Kanál můžete spustit ručně nebo prostřednictvím aktivační události.You can execute a pipeline either manually or by using a trigger. Tento článek obsahuje podrobnosti o obou způsobech spuštění kanálu.This article provides details about both ways of executing a pipeline.

Ruční spuštění (na vyžádání)Manual execution (on-demand)

Ruční spuštění kanálu se označuje také jako spuštění na vyžádání.The manual execution of a pipeline is also referred to as on-demand execution.

Předpokládejme například, že máte základní kanál copyPipeline, který chcete spustit.For example, say you have a basic pipeline named copyPipeline that you want to execute. Tento kanál obsahuje jednu aktivitu, která provádí kopírování ze zdrojové složky v úložišti objektů blob v Azure do cílové složky ve stejném úložišti.The pipeline has a single activity that copies from an Azure Blob storage source folder to a destination folder in the same storage. Následující definice JSON ukazuje tento ukázkový kanál: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"
            }
        }
    }
}

V definici JSON přijímá kanál dva parametry: sourceBlobContainer a sinkBlobContainer.In the JSON definition, the pipeline takes two parameters: sourceBlobContainer and sinkBlobContainer. Do těchto parametrů za běhu předáváte hodnoty.You pass values to these parameters at runtime.

Kanál můžete ručně spustit některým z následujících způsobů:You can manually run your pipeline by using one of the following methods:

  • .NET SDK.NET SDK
  • Modul Azure PowerShelluAzure PowerShell module
  • REST APIREST API
  • Python SDKPython SDK

REST APIREST API

Následující ukázkový příkaz ukazuje ruční spuštění kanálu pomocí rozhraní REST API: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

Úplnou ukázku najdete v tématu Rychlý start: Vytvoření datové továrny pomocí rozhraní REST API.For a complete sample, see Quickstart: Create a data factory by using the REST API.

Azure PowerShellAzure PowerShell

Poznámka

Tento článek je aktualizovaný a využívá nový modul Az Azure PowerShellu.This article has been updated to use the new Azure PowerShell Az module. Můžete dál využívat modul AzureRM, který bude dostávat opravy chyb nejméně do prosince 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Další informace o kompatibilitě nového modulu Az a modulu AzureRM najdete v tématu Seznámení s novým modulem Az Azure PowerShellu.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pokyny k instalaci modulu Az najdete v tématu věnovaném instalaci Azure PowerShellu.For Az module installation instructions, see Install Azure PowerShell.

Následující ukázkový příkaz ukazuje ruční spuštění kanálu pomocí Azure PowerShellu: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

Parametry předáváte v těle datové části požadavku.You pass parameters in the body of the request payload. V sadě .NET SDK, Azure PowerShellu a sadě Python SDK předáváte hodnoty ve slovníku, který se předává do volání jako argument: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"
}

Datová část odpovědi představuje jedinečné ID spuštění kanálu:The response payload is a unique ID of the pipeline run:

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

Úplnou ukázku najdete v tématu Rychlý start: Vytvoření datové továrny pomocí Azure Powershellu.For a complete sample, see Quickstart: Create a data factory by using Azure PowerShell.

.NET SDK.NET SDK

Následující ukázkové volání ukazuje ruční spuštění kanálu pomocí sady .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)

Úplnou ukázku najdete v tématu Rychlý start: Vytvoření datové továrny pomocí sady .NET SDK.For a complete sample, see Quickstart: Create a data factory by using the .NET SDK.

Poznámka

Sadu .NET SDK můžete použít k volání kanálů Data Factory ze služby Azure Functions, vlastních webových služeb atd.You can use the .NET SDK to invoke Data Factory pipelines from Azure Functions, from your own web services, and so on.

Spuštění pomocí aktivační událostiTrigger execution

Aktivační události představují další způsob spuštění kanálu.Triggers are another way that you can execute a pipeline run. Aktivační události jsou jednotkou zpracování, která určuje, kdy se má zahájit provádění kanálu.Triggers represent a unit of processing that determines when a pipeline execution needs to be kicked off. V současné době služba Data Factory podporuje tři typy aktivačních událostí:Currently, Data Factory supports three types of triggers:
  • Aktivační událost plánovače: Aktivační událost, která volá kanál podle časového plánu.Schedule trigger: A trigger that invokes a pipeline on a wall-clock schedule.

  • Aktivační událost pro přeskakující okno: Aktivační událost, která funguje v pravidelných intervalech a přitom si zachovává svůj stav.Tumbling window trigger: A trigger that operates on a periodic interval, while also retaining state.

  • Aktivační událost na základě události: Aktivační událost, která reaguje na událost.Event-based trigger: A trigger that responds to an event.

Kanály a aktivační události mají vztah N:N (s výjimkou aktivační události omílání okna). Více aktivačních událostí může zahájit jeden kanál nebo jedna aktivační událost může nastartovat více kanálů.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. V následující definici aktivační události vlastnost pipelines odkazuje na seznam kanálů aktivovaných konkrétní aktivační událostí.In the following trigger definition, the pipelines property refers to a list of pipelines that are triggered by the particular trigger. Definice vlastnosti obsahuje hodnoty parametrů kanálu.The property definition includes values for the pipeline parameters.

Definice základní aktivační událostiBasic 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>"
                }
            }
        ]
    }
}

Aktivační událost plánovačeSchedule trigger

Aktivační událost plánovače spouští kanály podle časového plánu.A schedule trigger runs pipelines on a wall-clock schedule. Tato aktivační událost podporuje pravidelné spouštění i rozšířené možnosti kalendáře.This trigger supports periodic and advanced calendar options. Tato aktivační událost podporuje například intervaly, jako „weekly“ (týdně) nebo „Monday at 5:00 PM and Thursday at 9:00 PM“ (V pondělí v 17:00 a ve čtvrtek ve 21:00).For example, the trigger supports intervals like "weekly" or "Monday at 5:00 PM and Thursday at 9:00 PM." Aktivační událost plánovače je flexibilní, protože je nezávislá na vzorech datových sad a nerozlišuje mezi daty časových řad a daty bez časových řad.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.

Další informace o aktivačních událostech plánovače a příklady najdete v tématu Vytvoření aktivační události plánovače.For more information about schedule triggers and for examples, see Create a schedule trigger.

Definice aktivační události plánovačeSchedule trigger definition

Při vytváření aktivační události plánovače určíte plánování a opakování pomocí definice JSON.When you create a schedule trigger, you specify scheduling and recurrence by using a JSON definition.

Pokud chcete, aby aktivační událost plánovače aktivovala spuštění kanálu, zahrňte do definice aktivační události odkaz na příslušný kanál.To have your schedule trigger kick off a pipeline run, include a pipeline reference of the particular pipeline in the trigger definition. Mezi kanály a aktivačními událostmi existuje vztah n-m.Pipelines and triggers have a many-to-many relationship. Víc aktivačních událostí může aktivovat jeden kanál.Multiple triggers can kick off a single pipeline. Jedna aktivační událost může aktivovat více kanálů.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>"
      }
    }
  ]}
}

Důležité

Vlastnost parameters elementu pipelines je povinná.The parameters property is a mandatory property of the pipelines element. Pokud váš kanál nepřijímá žádné parametry, musíte pro vlastnost parameters zahrnout prázdnou definici JSON.If your pipeline doesn't take any parameters, you must include an empty JSON definition for the parameters property.

Přehled schématuSchema overview

Následující tabulka obsahuje přehled hlavních elementů schématu souvisejících s opakováním a plánováním aktivační události:The following table provides a high-level overview of the major schema elements that are related to recurrence and scheduling a trigger:

Vlastnost JSONJSON property PopisDescription
startTimestartTime Hodnota data a času.A date-time value. V případě základních plánů se hodnota vlastnosti startTime vztahuje pouze na první výskyt.For basic schedules, the value of the startTime property applies to the first occurrence. U složitějších plánů aktivační událost nezačíná dřív než v čas určený hodnotou startTime.For complex schedules, the trigger starts no sooner than the specified startTime value.
endTimeendTime Koncové datum a čas pro aktivační událost.The end date and time for the trigger. Aktivační událost se nebude spouštět po zadaném koncovém datu a času.The trigger doesn't execute after the specified end date and time. Hodnota této vlastnosti nemůže být v minulosti.The value for the property can't be in the past.
timeZonetimeZone Časové pásmo.The time zone. V současné době se podporuje pouze časové pásmo UTC.Currently, only the UTC time zone is supported.
recurrencerecurrence Objekt recurrence, který určuje pravidla opakování aktivační události.A recurrence object that specifies the recurrence rules for the trigger. Objekt recurrence podporuje elementy frequency (frekvence), interval (interval), endTime (koncový čas), count (počet) a schedule (plán).The recurrence object supports the frequency, interval, endTime, count, and schedule elements. Když je definovaný objekt recurrence, vyžaduje se element frequency (frekvence).When a recurrence object is defined, the frequency element is required. Další elementy objektu recurrence jsou volitelné.The other elements of the recurrence object are optional.
Frekvencefrequency Jednotka frekvence, s jakou se aktivační událost opakuje.The unit of frequency at which the trigger recurs. Mezi podporované hodnoty patří „minute“ (minuta), „hour“ (hodina), „day“ (den), „week“ (týden) a „month“ (měsíc).The supported values include "minute", "hour", "day", "week", and "month".
intervalinterval Kladné celé číslo označující interval pro hodnotu frequency.A positive integer that denotes the interval for the frequency value. Hodnota frequency určuje, jak často se má aktivační událost spouštět.The frequency value determines how often the trigger runs. Pokud má například interval hodnotu 3 a frequency hodnotu „week“ (týden), aktivační událost se opakuje každé tři týdny.For example, if the interval is 3 and the frequency is "week", the trigger recurs every three weeks.
Plánschedule Plán opakování pro aktivační událost.The recurrence schedule for the trigger. Aktivační události se zadanou hodnotou frequency mění své opakování na základě plánu opakování.A trigger with a specified frequency value alters its recurrence based on a recurrence schedule. Vlastnost schedule obsahuje úpravy opakování na základě minut, hodin, dní v týdnu, dní v měsíci a čísla týdne.The schedule property contains modifications for the recurrence that are based on minutes, hours, week days, month days, and week number.

Příklad plánování aktivační událostiSchedule 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": {}
            }
        ]
    }
}

Výchozí hodnoty, omezení a příklady schématuSchema defaults, limits, and examples

Vlastnost JSONJSON property TypType Požaduje seRequired Výchozí hodnotaDefault value Platné hodnotyValid values PříkladExample
startTimestartTime řetězecstring AnoYes ŽádnýNone Data a časy podle normy ISO 8601ISO 8601 date-times "startTime" : "2013-01-09T09:30:00-08:00"
recurrencerecurrence objektobject AnoYes ŽádnýNone Objekt opakováníA recurrence object "recurrence" : { "frequency" : "monthly", "interval" : 1 }
intervalinterval číslonumber NeNo 11 1 až 1 0001 to 1000 "interval":10
endTimeendTime řetězecstring AnoYes ŽádnýNone Hodnota data a času představující čas v budoucnostiA date-time value that represents a time in the future "endTime" : "2013-02-09T09:30:00-08:00"
Plánschedule objektobject NeNo ŽádnýNone Objekt plánuA schedule object "schedule" : { "minute" : [30], "hour" : [8,17] }

Vlastnost startTimestartTime property

Následující tabulka ukazuje, jakým způsobem vlastnost startTime ovládá spouštění aktivační události:The following table shows you how the startTime property controls a trigger run:

Hodnota startTimestartTime value Opakování bez plánuRecurrence without schedule Opakování s plánemRecurrence with schedule
Čas začátku je v minulostiStart time is in the past Vypočítá první čas spuštění v budoucnosti následující po čase začátku a v tomto čase se spustí.Calculates the first future execution time after the start time, and runs at that time.

Zahájí další spuštění vypočítaná z posledního času spuštění.Runs subsequent executions calculated from the last execution time.

Prohlédněte si příklad pod touto tabulkou.See the example that follows this table.
Aktivační událost se spustí až po zadaném čase začátku.The trigger starts no sooner than the specified start time. První výskyt vychází z plánu vypočítaného z času začátku.The first occurrence is based on the schedule, calculated from the start time.

Zahájí další spuštění na základě plánu opakování.Runs subsequent executions based on the recurrence schedule.
Čas začátku je v budoucnosti nebo aktuální časStart time is in the future or the current time Spustí se jednou v zadaný čas začátku.Runs once at the specified start time.

Zahájí další spuštění vypočítaná z posledního času spuštění.Runs subsequent executions calculated from the last execution time.
Aktivační událost se spustí nejdříve zadaný čas zahájení.The trigger starts no sooner than the specified start time. První výskyt vychází z plánu a je vypočítaný z času začátku.The first occurrence is based on the schedule, calculated from the start time.

Zahájí další spuštění na základě plánu opakování.Runs subsequent executions based on the recurrence schedule.

Podívejme se na příklad toho, co se stane, když je čas začátku v minulosti a je nastaveno opakování, ale žádný plán.Let's look at an example of what happens when the start time is in the past, with a recurrence, but no schedule. Předpokládejme, že aktuální čas je 8. 4. 2017 13:00, čas začátku je 7. 4. 2017 14:00 a opakování je nastaveno na každé dva dny.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. (Hodnota opakování je definována nastavením vlastnosti frekvence na "den" a vlastnost intervalu na 2.) Všimněte si, že hodnota startTime je v minulosti a dochází před aktuální čas.(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.

Za těchto podmínek je první spuštění 2017-04-09 v 14:00.Under these conditions, the first execution is 2017-04-09 at 14:00. Modul plánovače vypočítá výskyty spuštění na základě času začátku.The Scheduler engine calculates execution occurrences from the start time. Všechny instance v minulosti se zahodí.Any instances in the past are discarded. Modul použije další instanci, která nastane v budoucnosti.The engine uses the next instance that occurs in the future. V tomto scénáři je čas začátku 7. 4. 2017 ve 14:00.In this scenario, the start time is 2017-04-07 at 2:00 PM. Další instance nastane o dva dny později, tedy 9. 4. 2017 ve 14:00.The next instance is two days from that time, which is on 2017-04-09 at 2:00 PM.

První čas spuštění je stejný, i když má položka startTime hodnotu 2017-04-05 14:00 (5. 4. 2017 ve 14:00) nebo 2017-04-01 14:00 (1. 4. 2017 ve 14:00).The first execution time is the same even whether startTime is 2017-04-05 14:00 or 2017-04-01 14:00. Po prvním spuštění se další spuštění vypočítají na základě plánu.After the first execution, subsequent executions are calculated by using the schedule. Proto další spuštění proběhnou 11. 4. 2017 ve 14:00, pak 13. 4. 2017 ve 14:00, pak 15. 4. 2017 ve 14:00 atd.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.

A nakonec, pokud v plánu aktivační události nejsou nastavené hodiny nebo minuty, jako výchozí hodnoty se použijí hodiny nebo minuty prvního spuštění.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.

Vlastnost scheduleschedule property

Pomocí vlastnosti schedule můžete omezit počet spuštění aktivační události.You can use schedule to limit the number of trigger executions. Pokud má například aktivační událost s měsíční frekvencí naplánované spouštění jenom v 31. den, tato aktivační událost se spustí jenom v měsících, které mají 31 dní.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.

Pomocí vlastnosti schedule můžete také rozšířit počet spuštění aktivační události.You can also use schedule to expand the number of trigger executions. Například aktivační událost s měsíční frekvencí, která má naplánované spouštění na 1. a 2. den v měsíci, se nespustí jednou za měsíc, ale první a druhý den v měsíci.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.

Pokud je zadaných více elementů schedule, pořadí jejich vyhodnocování postupuje od největšího k nejmenšímu nastavení plánu: od čísla týdne přes den v měsíci, den v týdnu a hodinu až k 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.

Následující tabulka obsahuje podrobný popis elementů schedule:The following table describes the schedule elements in detail:

Element JSONJSON element PopisDescription Platné hodnotyValid values
minutesminutes Minuty v hodině, ve kterých se aktivační událost spouští.Minutes of the hour at which the trigger runs. – Celé číslo- Integer
– Pole celých čísel- Array of integers
Hodinhours Hodiny dne, ve kterých se aktivační událost spouští.Hours of the day at which the trigger runs. – Celé číslo- Integer
– Pole celých čísel- Array of integers
weekDaysweekDays Dny v týdnu, ve kterých se aktivační událost spouští.Days of the week the trigger runs. Tuto hodnotu je možné zadat jenom při týdenní frekvenci.The value can be specified only with a weekly frequency.
– Monday (Pondělí)- Monday
– Tuesday (Úterý)- Tuesday
– Wednesday (Středa)- Wednesday
– Thursday (Čtvrtek)- Thursday
– Friday (Pátek)- Friday
– Saturday (Sobota)- Saturday
– Sunday (Neděle)- Sunday
– Pole hodnot dní (maximální velikost pole je 7)- Array of day values (maximum array size is 7)

V hodnotách dní se nerozlišují malá a velká písmenaDay values are not case-sensitive
monthlyOccurrencesmonthlyOccurrences Dny v měsíci, ve kterých se aktivační událost spouští.Days of the month on which the trigger runs. Tuto hodnotu je možné zadat jenom při měsíční frekvenci.The value can be specified with a monthly frequency only. - Pole monthlyOccurrence objektů:{ "day": day, "occurrence": occurrence }- Array of monthlyOccurrence objects: { "day": day, "occurrence": occurrence }
– Atribut day představuje den v týdnu, ve kterém se aktivační událost spouští.- The day attribute is the day of the week on which the trigger runs. Například vlastnost monthlyOccurrences s atributem day s hodnotou {Sunday} znamená každou neděli v měsíci.For example, a monthlyOccurrences property with a day value of {Sunday} means every Sunday of the month. Atribut day je povinný.The day attribute is required.
– Atribut occurrence představuje výskyt zadaného dne (day) v měsíci.- The occurrence attribute is the occurrence of the specified day during the month. Například vlastnost monthlyOccurrences s atributy day a occurrence s hodnotami {Sunday, -1} znamená poslední neděli v měsíci.For example, a monthlyOccurrences property with day and occurrence values of {Sunday, -1} means the last Sunday of the month. Atribut occurrence je volitelný.The occurrence attribute is optional.
monthDaysmonthDays Dan v měsíci, ve kterém se aktivační událost spouští.Day of the month on which the trigger runs. Tuto hodnotu je možné zadat jenom při měsíční frekvenci.The value can be specified with a monthly frequency only. – Libovolná hodnota <= −1 a >= −31- Any value <= -1 and >= -31
– Libovolná hodnota >= 1 a <= 31- Any value >= 1 and <= 31
– Pole hodnot- Array of values

Aktivační událost pro přeskakující oknoTumbling window trigger

Aktivační události pro přeskakující okno jsou typem aktivačních událostí, které se aktivuje v pravidelných časových intervalech od určeného počátečního okamžiku a které zachovávají stav.Tumbling window triggers are a type of trigger that fires at a periodic time interval from a specified start time, while retaining state. Přeskakující okna jsou řada nepřekrývajících se souvislých časových intervalů s pevnou velikostí.Tumbling windows are a series of fixed-sized, non-overlapping, and contiguous time intervals.

Další informace o aktivačních událostech pro přeskakující okno a příklady najdete v tématu Vytvoření aktivační události pro přeskakující okno.For more information about tumbling window triggers and for examples, see Create a tumbling window trigger.

Aktivační událost na základě událostiEvent-based trigger

Aktivační událost založená na událostech spouští kanály v reakci na událost, jako je například příchod souboru nebo odstranění souboru, ve službě 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.

Další informace o aktivačních událostech na základě událostí najdete v tématu věnovaném vytvoření aktivační události, která spustí kanál v reakci na událost.For more information about event-based triggers, see Create a trigger that runs a pipeline in response to an event.

Příklady plánů opakování aktivačních událostíExamples of trigger recurrence schedules

Tato část obsahuje příklady plánů opakování.This section provides examples of recurrence schedules. Zaměřuje se na objekt schedule a jeho elementy.It focuses on the schedule object and its elements.

V příkladech se předpokládá, že vlastnost interval má hodnotu 1 a vlastnost frequency má správnou hodnotu s ohledem na definici plánu.The examples assume that the interval value is 1, and that the frequency value is correct according to the schedule definition. Například není možné, aby vlastnost frequency měla hodnotu „day“ a zároveň objekt schedule obsahoval úpravu atributu monthDays.For example, you can't have a frequency value of "day" and also have a monthDays modification in the schedule object. Tyto typy omezení jsou popsané v tabulce v předchozí části.These kinds of restrictions are described in the table in the preceding section.

PříkladExample PopisDescription
{"hours":[5]} Spuštění každý den v 5:00.Run at 5:00 AM every day.
{"minutes":[15], "hours":[5]} Spuštění každý den v 5:15.Run at 5:15 AM every day.
{"minutes":[15], "hours":[5,17]} Spuštění každý den v 5:15 a 17:15.Run at 5:15 AM and 5:15 PM every day.
{"minutes":[15,45], "hours":[5,17]} Spuštění každý den v 5:15, 5:45 a 17:15 a 17:45.Run at 5:15 AM, 5:45 AM, 5:15 PM, and 5:45 PM every day.
{"minutes":[0,15,30,45]} Spuštění každých 15 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]} Spuštění každou hodinu.Run every hour.

Tato aktivační událost se spouští každou hodinu.This trigger runs every hour. Minuty se řídí hodnotou startTime, pokud je zadaná.The minutes are controlled by the startTime value, when a value is specified. Pokud hodnotu nezadáte, minuty se řídí časem vytvoření.If a value isn't specified, the minutes are controlled by the creation time. Například pokud je čas začátku nebo čas vytvoření (podle situace) 0:25, aktivační událost se spustí v 0:25, 1:25, 2:25 atd. až do 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.

Tento plán je stejný jako aktivační událost s vlastností frequency s hodnotou „hour“ (hodina), vlastností interval s hodnotou 1 a žádným objektem schedule.This schedule is equivalent to having a trigger with a frequency value of "hour", an interval value of 1, and no schedule. Tento plán se dá s jinými hodnotami frequency a interval použít k vytvoření jiných aktivačních událostí.This schedule can be used with different frequency and interval values to create other triggers. Když má například frequency hodnotu „month“ (měsíc), plán se spustí pouze jednou za měsíc, a ne každý den, jako když má frequency hodnotu „day“ (den).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]} Spuštění v každou celou hodinu.Run every hour on the hour.

Tato aktivační událost se spouští každou celou hodinu počínaje 0:00, 1:00, 2:00 atd.This trigger runs every hour on the hour starting at 12:00 AM, 1:00 AM, 2:00 AM, and so on.

Tento plán je stejný jako aktivační událost s vlastností frequency s hodnotou „hour“ (hodina), vlastností startTime s hodnotou nula minut a žádným objektem schedule, ale s vlastností frequency s hodnotou „day“ (den).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". Pokud má frequency hodnotu „week“ (týden) nebo „month“ (měsíc), plán se spustí pouze v jeden den v týdnu nebo jeden den v měsíci.If the frequency value is "week" or "month", the schedule executes one day a week or one day a month only, respectively.
{"minutes":[15]} Spuštění 15 minut po každé celé hodině.Run at 15 minutes past every hour.

Tato aktivační událost se spouští 15 minut po každé celé hodině počínaje 0:15, 1:15, 2:15 atd. až do 23:15.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"]} Spuštění každý týden v sobotu v 17:00.Run at 5:00 PM on Saturdays every week.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Spuštění každý týden v pondělí, středu a pátek v 17:00.Run at 5:00 PM on Monday, Wednesday, and Friday every week.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Spuštění každý týden v pondělí, středu a pátek v 17:15 a 17:45.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"]} Spuštění ve všední dny každých 15 minut.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"]} Spuštění ve všední dny každých 15 minut mezi 9:00 a 16:45.Run every 15 minutes on weekdays between 9:00 AM and 4:45 PM.
{"weekDays":["tuesday", "thursday"]} Spuštění každé úterý a čtvrtek v zadaný čas začátku.Run on Tuesdays and Thursdays at the specified start time.
{"minutes":[0], "hours":[6], "monthDays":[28]} Spuštění 28. dne každého měsíce v 6:00 (za předpokladu, že frequency má hodnotu „month“ (měsíc)).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]} Spuštění poslední den v měsíci v 6:00.Run at 6:00 AM on the last day of the month.

Pokud chcete spustit aktivační událost poslední den v měsíci, použijte místo hodnot 28, 29, 30 nebo 31 hodnotu -1.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]} Spuštění v každý první a poslední den v měsíci v 6:00.Run at 6:00 AM on the first and last day of every month.
{monthDays":[1,14]} Spuštění v každý první a čtrnáctý den v měsíci v zadaný čas začátku.Run on the first and fourteenth day of every month at the specified start time.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Spuštění v každý první pátek v měsíci v 5:00.Run on the first Friday of every month at 5:00 AM.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Spuštění v každý první pátek v měsíci v zadaný čas začátku.Run on the first Friday of every month at the specified start time.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Spuštění v každý třetí pátek od konce měsíce v zadaný čas začátku.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}]} Spuštění v každý první a poslední pátek v měsíci v 5:15.Run on the first and last Friday of every month at 5:15 AM.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Spuštění v každý první a poslední pátek v měsíci v zadaný čas začátku.Run on the first and last Friday of every month at the specified start time.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Spuštění v každý pátý pátek v měsíci v zadaný čas začátku.Run on the fifth Friday of every month at the specified start time.

Pokud určitý měsíc nemá pátý pátek, kanál se nespustí.When there's no fifth Friday in a month, the pipeline doesn't run. Pokud chcete, aby se aktivační událost spouštěla v poslední pátek v měsíci, můžete jako occurrence místo hodnoty 5 zadat hodnotu -1.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}]} Spuštění v poslední pátek v měsíci každých 15 minut.Run every 15 minutes on the last Friday of the month.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Spuštění každou třetí středu v měsíci v 5:15, 5:45, 17:15 a 17:45.Run at 5:15 AM, 5:45 AM, 5:15 PM, and 5:45 PM on the third Wednesday of every month.

Porovnání typů aktivačních událostíTrigger type comparison

Aktivační událost pro přeskakující okno i aktivační událost plánovače pracují s časovými intervaly.The tumbling window trigger and the schedule trigger both operate on time heartbeats. Jaký je mezi nimi rozdíl?How are they different?

Následující tabulka obsahuje porovnání aktivační události pro přeskakující okno a aktivační události plánovače:The following table provides a comparison of the tumbling window trigger and schedule trigger:

Aktivační událost pro přeskakující oknoTumbling window trigger Aktivační událost plánovačeSchedule trigger
Scénáře obnovení datBackfill scenarios Podporuje se.Supported. Spuštění kanálu je možné naplánovat i pro okna v minulosti.Pipeline runs can be scheduled for windows in the past. Není podporováno.Not supported. Spuštění kanálu je možné provést pouze v časová období od současnosti do budoucnosti.Pipeline runs can be executed only on time periods from the current time and the future.
SpolehlivostReliability 100% spolehlivost.100% reliability. Spuštění kanálu je možné plánovat pro všechna okna od zadaného času začátku, a to bez mezer.Pipeline runs can be scheduled for all windows from a specified start date without gaps. Menší spolehlivost.Less reliable.
Možnost opakováníRetry capability Podporuje se.Supported. Spuštění kanálu, která selžou, mají výchozí zásadu opakování 0 nebo zásadu zadanou uživatelem v definici aktivační události.Failed pipeline runs have a default retry policy of 0, or a policy that's specified by the user in the trigger definition. Automaticky opakuje pokus, když spuštění kanálu selže kvůli omezením souběžnosti, serveru nebo využití sítě (tedy stavové kódy 400: Chyba uživatele, 429: Příliš mnoho požadavků a 500: Vnitřní chyba serveru).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). Není podporováno.Not supported.
SouběžnostConcurrency Podporuje se.Supported. Uživatelé můžou pro aktivační událost explicitně nastavit omezení souběžnosti.Users can explicitly set concurrency limits for the trigger. Umožňuje 1 až 50 souběžně aktivovaných spuštění kanálu.Allows between 1 and 50 concurrent triggered pipeline runs. Není podporováno.Not supported.
Systémové proměnnéSystem variables Podporuje použití systémových proměnných WindowStart a WindowEnd.Supports the use of the WindowStart and WindowEnd system variables. Uživatelé mají v definici aktivační události přístup k triggerOutputs().windowStartTime a triggerOutputs().windowEndTime jako systémovým proměnným aktivační události.Users can access triggerOutputs().windowStartTime and triggerOutputs().windowEndTime as trigger system variables in the trigger definition. Tyto hodnoty se používají v čase začátku okna a v čase konce okna.The values are used as the window start time and window end time, respectively. Například pro aktivační událost pro přeskakující okno, která se spouští každou hodinu, je definice okna od 1:00 do 2:00 následující: triggerOutputs().WindowStartTime = 2017-09-01T01:00:00Z a 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. Není podporováno.Not supported.
Vztah mezi kanálem a aktivační událostíPipeline-to-trigger relationship Podporuje vztah 1:1.Supports a one-to-one relationship. Je možné aktivovat pouze jeden kanál.Only one pipeline can be triggered. Podporuje vztahy M:N.Supports many-to-many relationships. Víc aktivačních událostí může aktivovat jeden kanál.Multiple triggers can kick off a single pipeline. Jedna aktivační událost může aktivovat více kanálů.A single trigger can kick off multiple pipelines.

Další krokyNext steps

Projděte si tyto kurzy:See the following tutorials: