Sdílet prostřednictvím


Vytvoření triggeru, který spouští kanál podle plánu

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Návod

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje vše od přesunu dat až po datovou vědu, analýzy v reálném čase, podnikovou inteligenci a reportování. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento článek obsahuje informace o aktivační události plánu a krocích pro vytvoření, spuštění a sledování spouštěče plánu. Další typy spouštěčů najdete v tématu Spuštění kanálu a triggery.

Při vytváření spouštěče plánu určíte plán, jako je počáteční datum, opakování nebo koncové datum spouštěče, a přidružíte jej ke kanálu. Mezi kanalizacemi a triggery existuje mnoho-na-mnoho vztah. Více spouštěčů může zahájit jeden pipeline. Jediný spouštěč může zahájit více pracovních toků.

Následující části obsahují postup vytvoření spouštěče plánu různými způsoby.

Prostředí uživatelského portálu Azure Data Factory a Azure Synapse

Můžete vytvořit aktivační událost plánu, která naplánuje pravidelné spouštění kanálu, například každou hodinu nebo denně.

Poznámka:

Úplný návod k vytvoření kanálu a triggeru plánu, který přidruží spouštěč ke kanálu a spustí a monitoruje kanál, najdete v tématu Rychlý start: Vytvoření datové továrny pomocí uživatelského rozhraní služby Data Factory.

  1. Přepněte na kartu Upravit ve službě Data Factory nebo na kartu Integrace v Azure Synapse.


  1. V nabídce vyberte možnost Spouštěč a poté vyberte možnost Nový/Upravit.

    Snímek obrazovky, který ukazuje novou spouštěcí nabídku.

  2. Na stránce Přidat spouštěcí události vyberte Zvolit spouštěcí událost a pak vyberte Nový.

    Snímek obrazovky, který zobrazuje podokno Přidat spouštěcí události.

  3. Na stránce Nová aktivační událost :

    1. Zkontrolujte, zda je v nabídce Typ vybrána možnost Plán.

    2. Zadejte počáteční datum a čas spouštěče pro Počáteční datum. Ve výchozím nastavení je nastaveno na aktuální datum a čas v koordinovaném světovém čase (UTC).

    3. Zadejte časové pásmo, ve kterém je spouštěcí událost vytvořena. Nastavení časového pásma se vztahuje na Počáteční datum, Koncové datum a Časy spuštění plánu v rozšířených možnostech opakování. Změna nastavení časového pásma nezmění automaticky datum zahájení. Ujistěte se, že je počáteční datum správné v zadaném časovém pásmu. Plánovaný čas spuštění spouštěče se považuje za datum zahájení. (Ujistěte se, že počáteční datum je alespoň o 1 minutu kratší než doba spuštění, jinak se kanál aktivuje při dalším opakování.)

      Poznámka:

      Pro časová pásma s úsporou denního světla se čas spuštění automaticky upraví pro změnu dvakrát ročně, pokud je opakování nastaveno na Dny nebo vyšší. Chcete-li se vyhnout změně letního času, vyberte časové pásmo, které letní čas nepoužívá, například UTC.

      Úprava letního času probíhá pouze u spouštěče s opakováním nastaveným na hodnotu Dny nebo vyšší. Pokud je spouštěč nastaven na frekvenci hodin nebo minut , bude se spouštět v pravidelných intervalech.

    4. Zadejte Opakování spouštěcí události. Vyberte jednu z hodnot z rozevíracího seznamu (Každou minutu, Každou hodinu, Denně, Týdně nebo Měsíčně). Do textového pole zadejte násobitel. Pokud například chcete, aby se spouštěč spouštěl jednou za každých 15 minut, vyberte možnost Každou minutu a do textového pole zadejte hodnotu 15 .

    5. Pokud v části Opakování vyberete z rozevíracího seznamu možnost Dny, Týdny nebo Měsíce, zobrazí se Rozšířené možnosti opakování.

      Snímek obrazovky, který ukazuje pokročilé možnosti opakování Dny, Týdny a Měsíce.

    6. Chcete-li zadat koncové datum a čas, vyberte možnost Zadat koncové datum. Určete informace Konce na a pak vyberte OK.

      Ke každému spuštění kanálu jsou přidruženy náklady. Pokud testujete, možná budete chtít zajistit, aby se kanál aktivoval jenom několikrát. Ujistěte se ale, že mezi časem publikování a koncovým časem je dostatek času na spuštění kanálu. Spouštěč se projeví až po publikování řešení, nikoli po uložení spouštěče v uživatelském rozhraní.

      Snímek obrazovky, který ukazuje nastavení spouštěče.

      Snímek obrazovky, který ukazuje nastavení triggeru pro koncové datum a čas.

  4. V okně Nová aktivační událost vyberte v možnosti Aktivovánomožnost Ano a poté vyberte OK. Toto zaškrtávací políčko můžete použít k pozdější deaktivaci spouštěče.

    Snímek obrazovky, který ukazuje možnost Aktivováno.

  5. V okně Nová aktivační událost si přečtěte zprávu s upozorněním a poté vyberte OK.

    Snímek obrazovky, který ukazuje výběr tlačítka OK.

  6. Výběrem možnosti Publikovat vše změny publikujte. Dokud změny nepublikujete, trigger nezačne aktivovat spuštění kanálu.

    Snímek obrazovky, který ukazuje tlačítko Publikovat vše.

  7. Přepněte na kartu Spuštění kanálu na levé straně a pak výběrem možnosti Aktualizovat aktualizujte seznam. Zobrazí se spuštění kanálu aktivované naplánovanou aktivační událostí. Všimněte si hodnot ve sloupci Spuštěno. Pokud použijete možnost Aktivovat nyní , zobrazí se v seznamu ruční spuštění spouštěče.


  1. Přepněte do spouštěcí oblasti zobrazení>Plán .


Azure PowerShell

Poznámka:

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

V této části se dozvíte, jak pomocí Azure PowerShell vytvořit, spustit a monitorovat aktivační událost plánu. Pokud chcete vidět, jak tato ukázka funguje, projděte si rychlý start: Vytvoření datové továrny pomocí Azure PowerShell. Poté přidejte následující kód do metody main, která vytvoří a spustí aktivační událost plánu, která se spouští každých 15 minut. Spouštěč je přidružený ke kanálu s názvem Adfv2QuickStartPipeline , který vytvoříte v rámci rychlého startu.

Požadavky

Ukázkový kód

  1. Ve složce *C:\ADFv2QuickStartPSH* vytvořte soubor JSON s názvem MyTrigger.json s následujícím obsahem:

    Důležité

    Před uložením souboru JSON nastavte hodnotu elementu startTime na aktuální čas UTC. Nastavte hodnotu elementu endTime na jednu hodinu po aktuálním čase UTC.

    {
        "properties": {
            "name": "MyTrigger",
            "type": "ScheduleTrigger",
            "typeProperties": {
                "recurrence": {
                    "frequency": "Minute",
                    "interval": 15,
                    "startTime": "2017-12-08T00:00:00Z",
                    "endTime": "2017-12-08T01:00:00Z",
                    "timeZone": "UTC"
                }
            },
            "pipelines": [{
                    "pipelineReference": {
                        "type": "PipelineReference",
                        "referenceName": "Adfv2QuickStartPipeline"
                    },
                    "parameters": {
                        "inputPath": "adftutorial/input",
                        "outputPath": "adftutorial/output"
                    }
                }
            ]
        }
    }
    

    Ve fragmentu kódu JSON:

    • Prvek type spouštěcí události je nastaven na hodnotu ScheduleTrigger.

    • Element frequency je nastaven na Minute a interval element je nastaven na 15. Trigger proto spouští kanál každých 15 minut mezi počátečním a koncovým časem.

    • Element timeZone určuje časové pásmo, ve kterém je spouštěč vytvořen. Toto nastavení má vliv na obě startTime verze a endTime.

    • Element endTime je jednu hodinu po hodnotě elementu startTime . Aktivační událost proto spustí kanál 15 minut, 30 minut a 45 minut po čase spuštění. Nezapomeňte aktualizovat čas zahájení na aktuální čas UTC a čas ukončení na jednu hodinu po počátečním čase.

      Důležité

      Pro časové pásmo startTime UTC a endTime je třeba dodržovat formát yyyy-MM-ddTHH:mm:ssZ. Pro ostatní časová pásma startTime a endTime postupujte podle formátu yyyy-MM-ddTHH:mm:ss .

      Podle normy ISO 8601 se přípona Z používá k označení časového razítka data a času na časové pásmo UTC a k tomu, aby bylo timeZone pole nepoužitelné. Pokud přípona Z časového pásma UTC chybí, výsledkem je chyba při aktivaci triggeru.

    • Spouštěč je přidružený ke kanálu Adfv2QuickStartPipeline . Chcete-li k triggeru přidružit více kanálů, přidejte další pipelineReference oddíly.

    • Kanál v rychlém startu má dvě parameters hodnoty: inputPath a outputPath. Hodnoty pro tyto parametry předáváte z triggeru.

  2. Vytvořte trigger pomocí rutiny Set-AzDataFactoryV2Trigger :

    Set-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger" -DefinitionFile "C:\ADFv2QuickStartPSH\MyTrigger.json"
    
  3. Pomocí rutiny Get-AzDataFactoryV2Trigger ověřte, že je stav aktivace nastaven na Zastaveno.

    Get-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
    
  4. Spusťte trigger pomocí rutiny Start-AzDataFactoryV2Trigger :

    Start-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
    
  5. Pomocí rutiny Get-AzDataFactoryV2Trigger ověřte, že stav triggeru je Spuštěný:

    Get-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
    
  6. Získání spuštění triggerů v Azure PowerShellu pomocí příkazu rutiny Get-AzDataFactoryV2TriggerRun. Chcete-li získat informace o spuštění spouštěcí události, pravidelně spouštějte následující příkaz. Aktualizujte hodnoty TriggerRunStartedAfter a TriggerRunStartedBefore, aby odpovídaly hodnotám ve vaší definici spouštěče.

    Get-AzDataFactoryV2TriggerRun -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -TriggerName "MyTrigger" -TriggerRunStartedAfter "2017-12-08T00:00:00" -TriggerRunStartedBefore "2017-12-08T01:00:00"
    

    Poznámka:

    Čas aktivace spouštěčů plánu je určen v časovém razítku UTC. TriggerRunStartedAfter a TriggerRunStartedBefore také očekávejte časové razítko UTC.

    Pokud chcete monitorovat spuštění triggeru a spuštění kanálu v Azure Portal, přečtěte si téma Monitorování spuštění kanálu.

Azure CLI (příkazový řádek nástroje Azure)

V této části se dozvíte, jak pomocí Azure CLI vytvořit, spustit a monitorovat aktivační událost plánu. Pokud chcete vidět, jak tato ukázka funguje, projděte si rychlý start: Vytvoření Azure Data Factory pomocí Azure CLI. Poté postupujte podle pokynů k vytvoření a spuštění triggeru plánu, který se spouští každých 15 minut. Spouštěč je přidružený ke kanálu s názvem Adfv2QuickStartPipeline , který vytvoříte v rámci rychlého startu.

Požadavky

Ukázkový kód

  1. V pracovním adresáři vytvořte soubor JSON s názvem MyTrigger.json s vlastnostmi triggeru. V tomto příkladu použijte následující obsah:

    Důležité

    Před uložením souboru JSON nastavte hodnotu elementu startTime na aktuální čas UTC. Nastavte hodnotu elementu endTime na jednu hodinu po aktuálním čase UTC.

    {
        "name": "MyTrigger",
        "type": "ScheduleTrigger",
        "typeProperties": {
            "recurrence": {
                "frequency": "Minute",
                "interval": 15,
                "startTime": "2017-12-08T00:00:00Z",
                "endTime": "2017-12-08T01:00:00Z",
                "timeZone": "UTC"
            }
        },
        "pipelines": [{
                "pipelineReference": {
                    "type": "PipelineReference",
                    "referenceName": "Adfv2QuickStartPipeline"
                },
                "parameters": {
                    "inputPath": "adftutorial/input",
                    "outputPath": "adftutorial/output"
                }
            }
        ]
    }
    

    Ve fragmentu kódu JSON:

    • Prvek type spouštěcí události je nastaven na hodnotu ScheduleTrigger.

    • Element frequency je nastaven na Minute a interval element je nastaven na 15. Trigger proto spouští kanál každých 15 minut mezi počátečním a koncovým časem.

    • Element timeZone určuje časové pásmo, ve kterém je spouštěč vytvořen. Toto nastavení má vliv na obě startTime verze a endTime.

    • Element endTime je jednu hodinu po hodnotě elementu startTime . Aktivační událost proto spustí kanál 15 minut, 30 minut a 45 minut po čase spuštění. Nezapomeňte aktualizovat čas zahájení na aktuální čas UTC a čas ukončení na jednu hodinu po počátečním čase.

      Důležité

      Pro časové pásmo startTime UTC musí a endTime dodržovat formát yyyy-MM-ddTHH:mm:ssZ. Pro ostatní časová pásma startTime a endTime postupujte podle formátu yyyy-MM-ddTHH:mm:ss .

      Podle normy ISO 8601 se přípona Z používá k označení data a času na časové pásmo UTC a k tomu, aby se timeZone pole stalo nepoužitelným. Pokud přípona Z pro časové pásmo UTC chybí, výsledkem je chyba při aktivaci spouštěče.

    • Spouštěč je přidružený ke kanálu Adfv2QuickStartPipeline . Chcete-li k triggeru přidružit více kanálů, přidejte další pipelineReference oddíly.

    • Kanál v rychlém startu má dvě parameters hodnoty: inputPath a outputPath. Hodnoty pro tyto parametry předáváte z triggeru.

  2. Vytvořte trigger pomocí příkazu az datafactory trigger create :

    az datafactory trigger create --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory"  --name "MyTrigger" --properties @MyTrigger.json  
    
  3. Pomocí příkazu az datafactory trigger show ověřte, že je stav triggeru zastaven:

    az datafactory trigger show --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --name "MyTrigger" 
    
  4. Spusťte spouštěč pomocí příkazu az datafactory trigger start:

    az datafactory trigger start --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --name "MyTrigger" 
    
  5. Pomocí příkazu az datafactory trigger show potvrďte, že je stav spouštěče spuštěn

    az datafactory trigger show --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --name "MyTrigger" 
    
  6. Pomocí příkazu az datafactory trigger-run query-by-factory získáte spuštění spouštěče v Azure CLI. Pro získání informací o spuštění spouštěče pravidelně spusťte následující příkaz. Aktualizujte hodnoty last-updated-after a last-updated-before, aby odpovídaly hodnotám ve vaší definici spouštěče.

    az datafactory trigger-run query-by-factory --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --filters operand="TriggerName" operator="Equals" values="MyTrigger" --last-updated-after "2017-12-08T00:00:00" --last-updated-before "2017-12-08T01:00:00"
    

    Poznámka:

    Časy spouštěčů plánu jsou určeny v časovém razítku UTC. last-updated-after a last-updated-before také očekává časové razítko UTC.

    Pokud chcete monitorovat spuštění triggeru a spuštění kanálu v Azure Portal, přečtěte si téma Monitorování spuštění kanálu.

.NET SDK

V této části se dozvíte, jak pomocí sady .NET SDK vytvořit, spustit a monitorovat spouštěč. Pokud chcete vidět, jak tato ukázka funguje, projděte si rychlý start: Vytvoření datové továrny pomocí sady .NET SDK. Poté přidejte následující kód do metody main, která vytvoří a spustí aktivační událost plánu, která se spouští každých 15 minut. Spouštěč je přidružený ke kanálu s názvem Adfv2QuickStartPipeline , který vytvoříte v rámci rychlého startu.

Chcete-li vytvořit a spustit aktivační událost plánu, která se spouští každých 15 minut, přidejte do metody main následující kód:

            // Create the trigger
            Console.WriteLine("Creating the trigger");

            // Set the start time to the current UTC time
            DateTime startTime = DateTime.UtcNow;

            // Specify values for the inputPath and outputPath parameters
            Dictionary<string, object> pipelineParameters = new Dictionary<string, object>();
            pipelineParameters.Add("inputPath", "adftutorial/input");
            pipelineParameters.Add("outputPath", "adftutorial/output");

            // Create a schedule trigger
            string triggerName = "MyTrigger";
            ScheduleTrigger myTrigger = new ScheduleTrigger()
            {
                Pipelines = new List<TriggerPipelineReference>()
                {
                    // Associate the Adfv2QuickStartPipeline pipeline with the trigger
                    new TriggerPipelineReference()
                    {
                        PipelineReference = new PipelineReference(pipelineName),
                        Parameters = pipelineParameters,
                    }
                },
                Recurrence = new ScheduleTriggerRecurrence()
                {
                    // Set the start time to the current UTC time and the end time to one hour after the start time
                    StartTime = startTime,
                    TimeZone = "UTC",
                    EndTime = startTime.AddHours(1),
                    Frequency = RecurrenceFrequency.Minute,
                    Interval = 15,
                }
            };

            // Now, create the trigger by invoking the CreateOrUpdate method
            TriggerResource triggerResource = new TriggerResource()
            {
                Properties = myTrigger
            };
            client.Triggers.CreateOrUpdate(resourceGroup, dataFactoryName, triggerName, triggerResource);

            // Start the trigger
            Console.WriteLine("Starting the trigger");
            client.Triggers.Start(resourceGroup, dataFactoryName, triggerName);

Chcete-li vytvořit spouštěcí události v jiném časovém pásmu než UTC, je nutné provést následující nastavení:

<<ClientInstance>>.SerializationSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat;
<<ClientInstance>>.SerializationSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Unspecified;
<<ClientInstance>>.SerializationSettings.DateParseHandling = DateParseHandling.None;
<<ClientInstance>>.DeserializationSettings.DateParseHandling = DateParseHandling.None;
<<ClientInstance>>.DeserializationSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat;
<<ClientInstance>>.DeserializationSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Unspecified;

Chcete-li sledovat spuštění triggeru, přidejte před poslední Console.WriteLine příkaz v ukázce následující kód:

            // Check that the trigger runs every 15 minutes
            Console.WriteLine("Trigger runs. You see the output every 15 minutes");

            for (int i = 0; i < 3; i++)
            {
                System.Threading.Thread.Sleep(TimeSpan.FromMinutes(15));
                List<TriggerRun> triggerRuns = client.Triggers.ListRuns(resourceGroup, dataFactoryName, triggerName, DateTime.UtcNow.AddMinutes(-15 * (i + 1)), DateTime.UtcNow.AddMinutes(2)).ToList();
                Console.WriteLine("{0} trigger runs found", triggerRuns.Count);

                foreach (TriggerRun run in triggerRuns)
                {
                    foreach (KeyValuePair<string, string> triggeredPipeline in run.TriggeredPipelines)
                    {
                        PipelineRun triggeredPipelineRun = client.PipelineRuns.Get(resourceGroup, dataFactoryName, triggeredPipeline.Value);
                        Console.WriteLine("Pipeline run ID: {0}, Status: {1}", triggeredPipelineRun.RunId, triggeredPipelineRun.Status);
                        List<ActivityRun> runs = client.ActivityRuns.ListByPipelineRun(resourceGroup, dataFactoryName, triggeredPipelineRun.RunId, run.TriggerRunTimestamp.Value, run.TriggerRunTimestamp.Value.AddMinutes(20)).ToList();
                    }
                }
            }

Pokud chcete monitorovat spuštění triggeru a spuštění kanálu v Azure Portal, přečtěte si téma Monitorování spuštění kanálu.

Python SDK

V této části se dozvíte, jak pomocí sady Python SDK vytvořit, spustit a monitorovat spouštěč. Pokud chcete vidět, jak tato ukázka funguje, nejprve si projděte rychlý start: Vytvoření datové továrny pomocí sady Python SDK. Poté přidejte následující blok kódu za monitor the pipeline run blok kódu ve skriptu Python. Tento kód vytvoří aktivační událost plánu, která se spouští každých 15 minut mezi zadaným počátečním a koncovým časem. Aktualizujte proměnnou start_time na aktuální čas UTC a proměnnou end_time na jednu hodinu po aktuálním čase UTC.

    # Create a trigger
    tr_name = 'mytrigger'
    scheduler_recurrence = ScheduleTriggerRecurrence(frequency='Minute', interval='15',start_time='2017-12-12T04:00:00Z', end_time='2017-12-12T05:00:00Z', time_zone='UTC')
    pipeline_parameters = {'inputPath':'adftutorial/input', 'outputPath':'adftutorial/output'}
    pipelines_to_run = []
    pipeline_reference = PipelineReference('copyPipeline')
    pipelines_to_run.append(TriggerPipelineReference(pipeline_reference, pipeline_parameters))
    tr_properties = TriggerResource(properties=ScheduleTrigger(description='My scheduler trigger', pipelines = pipelines_to_run, recurrence=scheduler_recurrence))
    adf_client.triggers.create_or_update(rg_name, df_name, tr_name, tr_properties)

    # Start the trigger
    adf_client.triggers.start(rg_name, df_name, tr_name)

Pokud chcete monitorovat spuštění triggeru a spuštění kanálu v Azure Portal, přečtěte si téma Monitorování spuštění kanálu.

Šablona Azure Resource Manageru

K vytvoření triggeru můžete použít šablonu Azure Resource Manager. Podrobné pokyny najdete v tématu Vytvoření datové továrny Azure pomocí šablony Azure Resource Manager.

Předání času spuštění triggeru kanálu

Azure Data Factory verze 1 podporuje čtení nebo zápis dělených dat pomocí systémových proměnných SliceStart, SliceEnd, WindowStarta WindowEnd. V aktuální verzi kanálů Data Factory a Azure Synapse můžete tohoto chování dosáhnout pomocí parametru kanálu. Čas spuštění a naplánovaný čas triggeru jsou nastaveny jako hodnota parametru kanálu. V následujícím příkladu je naplánovaný čas triggeru předán jako hodnota parametru pipeline scheduledRunTime :

"parameters": {
    "scheduledRunTime": "@trigger().scheduledTime"
}

Schéma JSON

Následující definice JSON ukazuje, jak vytvořit aktivační událost plánu s plánováním a opakováním:

{
  "properties": {
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": <<Minute, Hour, Day, Week, Month>>,
        "interval": <<int>>,             // Optional, specifies how often to fire (default to 1)
        "startTime": <<datetime>>,
        "endTime": <<datetime - optional>>,
        "timeZone": "UTC"
        "schedule": {                    // Optional (advanced scheduling specifics)
          "hours": [<<0-23>>],
          "weekDays": [<<Monday-Sunday>>],
          "minutes": [<<0-59>>],
          "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é

Tato parameters vlastnost je povinnou vlastností pipelines prvku. Pokud váš kanál nepřijímá žádné parametry, musíte pro vlastnost parameters zahrnout prázdnou definici JSON.

Přehled schématu

Následující tabulka poskytuje základní přehled hlavních prvků schématu, které souvisejí s opakováním a plánováním triggeru.

Vlastnost JSON Popis
startTime Hodnota Date-Time. U jednoduchých tabulek se hodnota startTime vlastnosti vztahuje na první výskyt. U složitých plánů se spouštěč spustí nejdříve po zadané startTime hodnotě.
Pro časové pásmo UTC je 'yyyy-MM-ddTHH:mm:ssZ'formát . Pro ostatní časová pásma je yyyy-MM-ddTHH:mm:ssformát .
endTime Koncové datum a čas pro aktivační událost. Spouštěč se nespustí po zadaném koncovém datu a čase. Hodnota této vlastnosti nemůže být v minulosti. Tato vlastnost je nepovinná.
Pro časové pásmo UTC je 'yyyy-MM-ddTHH:mm:ssZ'formát . Pro ostatní časová pásma je yyyy-MM-ddTHH:mm:ssformát .
timeZone Časové pásmo, ve kterém je spouštěč vytvořen. Toto nastavení má vliv na startTime, endTime, a schedule. Podívejte se na seznam podporovaných časových pásem.
recurrence Objekt recurrence, který určuje pravidla opakování aktivační události. Objekt opakování podporuje elementy , , , frequencyinterval, a endTime . countschedule Když je definován objekt opakování, je prvek povinný.frequency Další elementy objektu recurrence jsou volitelné.
frequency Jednotka frekvence, s jakou se aktivační událost opakuje. Mezi podporované hodnoty patří minute,hour,day, week, a month.
interval Kladné celé číslo, které označuje interval pro frequency hodnotu, což určuje, jak často se aktivační událost spouští. Pokud jsou například interval is 3 a is frequencyweek, spouštěč se opakuje každé 3 týdny.
schedule Plán opakování pro aktivační událost. Spouštěč se zadanou frequency hodnotou mění své opakování na základě plánu opakování. Tato schedule vlastnost obsahuje úpravy opakování, které jsou založeny na minutách, hodinách, dnech v týdnu, dnech v měsíci a čísle týdne.

Důležité

Pro časové pásmo startTime UTC a endTime je třeba dodržovat formát yyyy-MM-ddTHH:mm:ssZ. Pro ostatní časová pásma startTime a endTime postupujte podle formátu yyyy-MM-ddTHH:mm:ss .

Podle normy ISO 8601 se přípona Z používá k označení data a času na časové pásmo UTC a k tomu, aby se timeZone pole stalo nepoužitelným. Pokud přípona Z pro časové pásmo UTC chybí, výsledkem je chyba při aktivaci spouštěče.

Výchozí hodnoty, omezení a příklady schématu

Vlastnost JSON Typ Povinné Výchozí hodnota Platné hodnoty Příklad
startTime Řetězec Ano Žádné ISO-8601 datumy a časy Pro časové pásmo UTC: "startTime" : "2013-01-09T09:30:00-08:00Z"
Pro ostatní časová pásma: "2013-01-09T09:30:00-08:00"
timeZone Řetězec Ano Žádné Hodnoty časového pásma "UTC"
recurrence Objekt Ano Žádné Objekt opakování "recurrence" : { "frequency" : "monthly", "interval" : 1 }
interval Číslo Ne 1 1 až 1 000 "interval":10
endTime Řetězec Ano Žádné Date-Time hodnota, která představuje čas v budoucnosti Pro časové pásmo UTC: "endTime" : "2013-02-09T09:30:00-08:00Z"
Pro ostatní časová pásma: "endTime" : "2013-02-09T09:30:00-08:00"
schedule Objekt Ne Žádné Naplánovat objekt "schedule" : { "minute" : [30], "hour" : [8,17] }

Možnost časového pásma

Zde jsou některá časová pásma podporovaná pro spouštěče plánu.

Časové pásmo Posun UTC (mimo přechod na letní čas) Hodnota timeZone Dodržujte letní čas Formát časového razítka
koordinovaný univerzální čas (UTC) 0 UTC Ne 'yyyy-MM-ddTHH:mm:ssZ'
Tichomořský čas (PT) -8 Pacific Standard Time Ano 'yyyy-MM-ddTHH:mm:ss'
Centrální čas (CT) -6 Central Standard Time Ano 'yyyy-MM-ddTHH:mm:ss'
Východní čas (ET) -5 Eastern Standard Time Ano 'yyyy-MM-ddTHH:mm:ss'
Greenwichský střední čas (GMT) 0 GMT Standard Time Ano 'yyyy-MM-ddTHH:mm:ss'
Středoevropský standardní čas +1 W. Europe Standard Time Ano 'yyyy-MM-ddTHH:mm:ss'
Indický standardní čas (IST) +5:30 India Standard Time Ne 'yyyy-MM-ddTHH:mm:ss'
Standardní čas Číny +8 China Standard Time Ne 'yyyy-MM-ddTHH:mm:ss'

Tento seznam je neúplný. Úplný seznam možností časového pásma najdete na stránce Vytvoření triggeru na portálu.

Vlastnost startTime

Následující tabulka ukazuje, jak tato startTime vlastnost řídí spuštění triggeru.

Hodnota startTime Opakování bez plánu Opakování podle rozvrhu
Čas zahájení v minulosti Vypočítá první budoucí čas spuštění po čase spuštění a spustí se v tomto čase.

Spustí následná spuštění na základě výpočtu z času posledního spuštění.

Prohlédněte si příklad pod touto tabulkou.
Aktivační událost se spustí nejdříve ve stanovený čas začátku. První výskyt je založen na plánu, který se vypočítá od počátečního času.

Zahájí další spuštění podle plánu opakování.
Čas zahájení v budoucnu nebo v současnosti Spustí se jednou v zadaný čas začátku.

Spustí následná spuštění na základě výpočtu z času posledního spuštění.
Aktivační událost se spustí nejdříve v zadaném čase začátku. První výskyt je založen na plánu, který se vypočítá od počátečního času.

Zahájí další spuštění podle plánu opakování.

Podívejme se na příklad toho, co se stane, když je čas spuštění v minulosti, s opakováním, ale bez plánu. Předpokládejme, že aktuální čas je 2017-04-08 13:00, čas spuštění je 2017-04-07 14:00a opakování je každé dva dny. (Hodnota recurrence je definována nastavením frequency vlastnosti na day a interval vlastnosti na 2.) Všimněte si, že hodnota startTime je v minulosti a vyskytuje se před aktuálním časem.

Za těchto podmínek je první spuštění v 2017-04-09 .14:00 Modul plánovače vypočítá provedení úloh od času začátku. Všechny instance v minulosti se zahodí. Motor použije další příklad, který se vyskytne v budoucnosti. V tomto scénáři je 2017-04-07 čas spuštění v 2:00pm, takže další instance je dva dny od tohoto času, což je 2017-04-09 v 2:00pm.

Doba prvního spuštění je stejná, i když je startTime2017-04-05 14:00 hodnota nebo 2017-04-01 14:00. Po prvním spuštění se další spuštění vypočítají na základě harmonogramu. Proto jsou následující spuštění v , pak v , pak v 2017-04-11, atd2:00pm.2017-04-132:00pm2017-04-152:00pm

A konečně, pokud v plánu spouštěče nejsou nastaveny hodiny nebo minuty, použijí se jako výchozí hodiny nebo minuty prvního spuštění.

Vlastnost plánu

Použití plánu může omezit počet spuštění spouštěče. Pokud je například spuštění spouštěče s měsíční frekvencí naplánováno pouze na 31. den, spustí se pouze v měsících, které mají 31. den.

Plán může také rozšířit počet spuštění spouštěče. 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.

Pokud je zadáno více schedule prvků, pořadí vyhodnocení je od největšího po nejmenší nastavení plánu. Vyhodnocení začíná číslem týdne a poté dnem v měsíci, dnem v týdnu, hodinou a nakonec minutou.

Následující tabulka popisuje tyto schedule prvky podrobně.

Element JSON Popis Platné hodnoty
minutes Minuty v hodině, kdy se spouští spouštěč.
  • Celé číslo
  • Pole celých čísel
hours Hodiny dne, ve kterých se spouštěč spouští.
  • Celé číslo
  • Pole celých čísel
weekDays Dny v týdnu, ve kterých je spouštěč spuštěn. Hodnotu lze zadat pouze s týdenní frekvencí.
  • Pondělí, úterý, středa, čtvrtek, pátek, sobota, neděle.
  • Pole hodnot dne (maximální velikost pole je 7).
  • Hodnoty dne nerozlišují velká a malá písmena.
monthlyOccurrences Dny v měsíci, na které se spouštěč spouští. Tuto hodnotu je možné zadat jenom při měsíční frekvenci.
  • Pole monthlyOccurrences objektů: { "day": day, "occurrence": occurrence }.
  • Atribut day je den v týdnu, ve kterém je spouštěč spuštěn. Například monthlyOccurrences vlastnost s day hodnotou {Sunday} means každou neděli v měsíci. Je vyžadován atribut day.
  • Atribut occurrence je výskyt zadaného day v průběhu měsíce. Například monthlyOccurrences vlastnost s day hodnotou a occurrence{Sunday, -1} znamená poslední neděli v měsíci. Atribut occurrence je nepovinný.
monthDays Den v měsíci, ve kterém se spouštěč spouští. Tuto hodnotu je možné zadat jenom při měsíční frekvenci.
  • Libovolná hodnota <= -1 a >= -31
  • Libovolná hodnota >= 1 a <= 31
  • Pole hodnot

Příklady plánů opakování aktivačních událostí

Tato část obsahuje příklady plánů opakování a zaměřuje se na schedule objekt a jeho prvky.

Příklady předpokládají, že interval hodnota je 1 a že frequency hodnota je správná podle definice plánu. Nemůžete mít frequency například hodnotu a day také mít monthDays v objektu úpravu schedule . Omezení, jako jsou tato, jsou uvedena v tabulce v předchozí části.

Příklad Popis
{"hours":[5]} Běhej každý den v 5:00 ráno.
{"minutes":[15], "hours":[5]} Běhejte každý den v 5:15 ráno.
{"minutes":[15], "hours":[5,17]} Běh v 5:15 ráno a 17:15 odpoledne každý den.
{"minutes":[15,45], "hours":[5,17]} Spuštění každý den v 5:15 ráno, 5:45 ráno, 17:15 odpoledne a 17:45 odpoledne.
{"minutes":[0,15,30,45]} Spustí se každých 15 minut.
{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]} Spouštěj každou hodinu. Tento spouštěč běží každou hodinu. Minuty jsou řízeny startTime hodnotou, při které je hodnota specifikována. Pokud hodnotu nezadáte, minuty se řídí časem vytvoření. Například, pokud je počáteční čas nebo čas vytvoření (podle potřeby) 12:25 odpoledne, aktivační událost se spustí ve 0:25, 1:25, 2:25, ..., a 23:25.

Tento plán je ekvivalentní aktivační události s frequency hodnotou , hodnotou hourinterval, a no 1schedule. Tento plán lze použít s různými frequency hodnotami a interval k vytvoření dalších spouštěčů. Pokud je frequencynapříklad hodnota month , plán se spustí pouze jednou za měsíc, nikoli každý den, kdy je frequencyhodnota day .
{"minutes":[0]} Běž každou hodinu v celou. Tento spouštěč se spouští každou hodinu přesně, počínaje půlnocí ve 12:00, 1:00, 2:00 atd.

Tento plán je ekvivalentní spouštěči s frequency hodnotou hourstartTime a hodnotou nula minut nebo no schedule , ale s frequency hodnotou day. Pokud je frequency hodnota week nebo month, plán se provádí pouze jeden den v týdnu nebo jeden den v měsíci.
{"minutes":[15]} Spouštět každou hodinu v 15 minut. Tento časovač se spouští každou hodinu v 15 minut po celé hodině, začíná ve 00:15 AM, 1:15 AM, 2:15 AM, a tak dále až do 11:15 PM.
{"hours":[17], "weekDays":["saturday"]} Běh každou sobotu v 17:00.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Spouštějte v 17:00 každé pondělí, středu a pátek.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Probíhá každý týden v pondělí, středu a pátek v 17:15 a 17:45.
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Běží každých 15 minut ve všední dny.
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Jezdí ve všední dny každých 15 minut mezi 9:00 a 16:45.
{"weekDays":["tuesday", "thursday"]} Probíhá každé úterý a čtvrtek v určený začátek.
{"minutes":[0], "hours":[6], "monthDays":[28]} Spouštějte 28. den v měsíci v 6:00 (za předpokladu frequency hodnoty month).
{"minutes":[0], "hours":[6], "monthDays":[-1]} Spusťte se v poslední den měsíce v 6:00 ráno. 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.
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} Spustit v 6:00 ráno každý první a poslední den každého měsíce.
{monthDays":[1,14]} Spusťte první a 14. den každého měsíce v určený čas zahájení.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Probíhá každý první pátek v měsíci v 5:00 ráno.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Spouští se každý první pátek v měsíci ve stanoveném čase zahájení.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Každý třetí pátek před koncem měsíce ve stanovenou dobu.
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Běží každý první a poslední pátek v měsíci v 5:15 ráno.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Spouští se každý první a poslední pátek v měsíci ve stanovený začátek.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Probíhat každý pátý pátek v měsíci v určeném čase zahájení. Když není pátý pátek v měsíci, potrubí se nespustí, protože je naplánováno spuštění pouze na pátý pátek. Chcete-li spouštěč spustit poslední pátek v měsíci, zvažte použití hodnoty -1 místo hodnoty 5 occurrence .
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} Každých 15 minut v poslední pátek v měsíci.
{"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 ráno, 5:45 ráno, 17:15 odpoledne a 17:45 odpoledne.