Delen via


Een trigger maken voor het uitvoeren van een pijplijn volgens een planning

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Aanbeveling

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Dit artikel bevat informatie over de schematrigger en de stappen voor het maken, starten en bewaken van een schematrigger. Zie Pipeline-uitvoering en triggers voor andere soorten triggers.

Wanneer u een schematrigger maakt, geeft u een planning op zoals een begindatum, terugkeerpatroon of einddatum voor de trigger en koppelt u deze aan een pijplijn. Pijplijnen en triggers hebben een veel-op-veel-relatie. Meerdere triggers kunnen één pijplijn activeren. Eén trigger kan meerdere pijplijnen activeren.

De volgende afdelingen bevatten stappen om een schematrigger op verschillende manieren te maken.

Ervaring met Azure Data Factory en Azure Synapse Portal

U kunt een schematrigger maken om een pijplijn periodiek uit te voeren, zoals per uur of per dag.

Notitie

Voor een complete handleiding over het maken van een pijplijn en een schematrigger, waarmee de trigger aan de pijplijn wordt gekoppeld en de pijplijn wordt uitgevoerd en bewaakt, raadpleegt u Quickstart: Een gegevensfabriek maken met behulp van de Data Factory-gebruikersinterface.

  1. Ga naar het tabblad Bewerken in Data Factory of het tabblad Integreren in Azure Synapse.


  1. Selecteer Trigger in het menu selecteer vervolgens Nieuw/Bewerken.

    Schermopname van het menu Nieuwe trigger.

  2. Selecteer op de pagina Triggers toevoegen de optie Trigger kiezen en selecteer vervolgens Nieuw.

    Schermopname van het deelvenster voor het toevoegen van triggers.

  3. Op de pagina Nieuwe trigger:

    1. Controleer of Schema is geselecteerd voor Type.

    2. Geef de begindatum van de trigger op voor begindatum. Deze is standaard ingesteld op de huidige datum/tijd in Coordinated Universal Time (UTC).

    3. Geef de tijdzone op waarin de trigger wordt gemaakt. De tijdzone-instelling is van toepassing op begindatum, einddatum en uitvoeringstijden van schema’s in geavanceerde opties voor herhaling. Als u de tijdzone-instelling wijzigt, wordt de begindatum niet automatisch gewijzigd. Zorg ervoor dat de begindatum juist is in de opgegeven tijdzone. De geplande uitvoeringstijd van de trigger wordt beschouwd na de begindatum. (Zorg ervoor dat de begindatum ten minste 1 minuut kleiner is dan de uitvoeringstijd, anders wordt de pijplijn geactiveerd in het volgende terugkeerpatroon.)

      Notitie

      Voor tijdzones die zomertijd observeren, wordt de tijd automatisch aangepast voor de tweejaarlijkse wijziging, als het herhalingspatroon is ingesteld op Dagen of meer. Als u niet wilt deelnemen aan de zomertijd, selecteert u een tijdzone die geen zomertijd hanteert, bijvoorbeeld UTC.

      Zomertijdaanpassing vindt alleen plaats voor een trigger waarbij het terugkeerpatroon is ingesteld op Dagen of hoger. Als de trigger is ingesteld op de frequentie uren of minuten , blijft deze met regelmatige tussenpozen worden geactiveerd.

    4. Geef terugkeerpatroon op voor de trigger. Selecteer een van de waarden in de vervolgkeuzelijst (elke minuut, elk uur, dagelijks, wekelijks of maandelijks). Voer de vermenigvuldiger in het tekstvak in. Bijvoorbeeld, als u wilt dat de trigger elke 15 minuten wordt uitgevoerd, selecteert u Elke minuut en voert u 15 in het tekstvak in.

    5. Als u onder Terugkeerpatroon dag(en), week(en) of maand(en) kiest in de vervolgkeuzelijst, ziet u geavanceerde opties voor terugkeerpatroon.

      Schermopname van de geavanceerde opties voor terugkeerpatroon van dag(en), week(en) en maand(en).

    6. Als u een einddatum wilt opgeven, selecteert u Een einddatum opgeven. Geef de Eindigt op informatie op en selecteer vervolgens OK.

      Er worden kosten gekoppeld aan elke pijplijnuitvoering. Als u test, wilt u er misschien voor zorgen dat de pijplijn slechts een paar keer wordt geactiveerd. Zorg er echter voor dat er voldoende tijd is om de pijplijn uit te voeren tussen de publicatietijd en de eindtijd. De trigger wordt pas van kracht nadat u de oplossing hebt gepubliceerd, niet wanneer u de trigger opslaat in de gebruikersinterface.

      Schermopname van de triggerinstellingen.

      Schermopname van triggerinstellingen voor de einddatum en -tijd.

  4. Selecteer Ja in het venster Nieuwe trigger in de optie Geactiveerd en selecteer vervolgens OK. U kunt dit selectievakje gebruiken om de trigger later te deactiveren.

    Schermopname van de optie Geactiveerd.

  5. Controleer in het venster Nieuwe trigger het waarschuwingsbericht en selecteer VERVOLGENS OK.

    Schermopname van het selecteren van de knop OK.

  6. Selecteer Alles publiceren om de wijzigingen te publiceren. Totdat u de wijzigingen publiceert, start de trigger niet met het activeren van de pijplijnruns.

    Schermopname van de knop Alles publiceren.

  7. Ga naar het tabblad Pijplijnuitvoeringen aan de linkerkant en selecteer Vernieuwen om de lijst te vernieuwen. Je ziet dat de pijplijnen worden geactiveerd door de geplande trigger. Bekijk de waarden in de kolom Geactiveerd door. Als u de Nu activeren optie gebruikt, ziet u de handmatige trigger in de lijst verschijnen.


  1. Schakel over naar de weergave Triggeruitvoeringen>Planning.


Azure PowerShell

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

In deze sectie wordt beschreven hoe u Azure PowerShell gebruikt om een planningstrigger te maken, te starten en te bewaken. Als u wilt zien hoe dit voorbeeld werkt, gaat u eerst door met de quickstart: Een gegevensfactory maken met behulp van Azure PowerShell. Voeg vervolgens de volgende code toe aan de hoofdmethode, waarmee een schematrigger wordt aangemaakt en gestart die elke 15 minuten actief is. De trigger is gekoppeld aan een pijplijn met de naam Adfv2QuickStartPipeline die u maakt als onderdeel van de quickstart.

Vereisten

Voorbeeldcode

  1. Maak een JSON-bestand met de naam MyTrigger.json in de map *C:\ADFv2QuickStartPSH* met de volgende inhoud:

    Belangrijk

    Voordat u het JSON-bestand opslaat, stelt u de waarde van het startTime element in op de huidige UTC-tijd. Stel de waarde van het endTime element in op één uur voorbij de huidige UTC-tijd.

    {
        "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"
                    }
                }
            ]
        }
    }
    

    In het JSON-fragment:

    • Het type element van de trigger is ingesteld op ScheduleTrigger.

    • Het frequency element is ingesteld op Minute en het interval element is ingesteld op 15. Als zodanig wordt de pijplijn elke 15 minuten tussen de begin- en eindtijd uitgevoerd.

    • Het timeZone element geeft de tijdzone aan waarin de trigger wordt gemaakt. Deze instelling is van invloed op zowel startTime als endTime.

    • Het endTime element is één uur na de waarde van het startTime element. De trigger voert daarom de pijplijn 15 minuten, 30 minuten en 45 minuten na de begintijd uit. Vergeet niet om de begintijd bij te werken naar de huidige UTC-tijd en de eindtijd tot één uur voorbij de begintijd.

      Belangrijk

      Voor de UTC-tijdzone startTime en endTime moet u de notatie yyyy-MM-ddTHH:mm:ssZ volgen. Voor andere tijdzones startTime en endTime volgt u de yyyy-MM-ddTHH:mm:ss notatie.

      Volgens de ISO 8601-standaard wordt het Z achtervoegsel gebruikt om de datum/tijd aan de UTC-tijdzone te markeren en het timeZone veld nutteloos te maken. Als het Z achtervoegsel voor de UTC-tijdzone ontbreekt, is het resultaat een fout bij het activeren van de trigger.

    • De trigger is gekoppeld aan de Adfv2QuickStartPipeline pijplijn. Als u meerdere pijplijnen wilt koppelen aan een trigger, voegt u meer pipelineReference secties toe.

    • De pijplijn in de quickstart heeft twee parameters waarden: inputPath en outputPath. U geeft waarden voor deze parameters door vanaf de trigger.

  2. Maak een trigger met behulp van de cmdlet Set-AzDataFactoryV2Trigger :

    Set-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger" -DefinitionFile "C:\ADFv2QuickStartPSH\MyTrigger.json"
    
  3. Controleer of de status van de trigger is gestopt met behulp van de cmdlet Get-AzDataFactoryV2Trigger :

    Get-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
    
  4. Start de trigger met behulp van de cmdlet Start-AzDataFactoryV2Trigger :

    Start-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
    
  5. Controleer of de status van de trigger is gestart met behulp van de cmdlet Get-AzDataFactoryV2Trigger :

    Get-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
    
  6. Haal de triggeruitvoeringen op in Azure PowerShell met behulp van de cmdlet Get-AzDataFactoryV2TriggerRun. Voer regelmatig de volgende opdracht uit om de informatie over de triggeruitvoeringen op te halen. Werk de TriggerRunStartedAfter en TriggerRunStartedBefore waarden bij zodat ze overeenkomen met de waarden in uw triggerdefinitie.

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

    Notitie

    De triggertijd van schematriggers wordt opgegeven in de UTC-tijdstempel. TriggerRunStartedAfter en TriggerRunStartedBefore verwacht ook de UTC-tijdstempel.

    Zie Pijplijnuitvoeringen bewaken om de triggers en pijplijnuitvoeringen in de Azure portal in de gaten te houden.

Azure-CLI

In deze sectie wordt beschreven hoe u de Azure CLI gebruikt om een planningstrigger te maken, te starten en te bewaken. Als u dit voorbeeld wilt zien werken, gaat u eerst door met de quickstart: Een Azure Data Factory maken met behulp van de Azure CLI. Volg vervolgens de stappen om een schematrigger te maken en te starten die elke 15 minuten wordt uitgevoerd. De trigger is gekoppeld aan een pijplijn met de naam Adfv2QuickStartPipeline die u maakt als onderdeel van de quickstart.

Vereisten

Voorbeeldcode

  1. Maak in uw werkmap een JSON-bestand met de naam MyTrigger.json met de eigenschappen van de trigger. Gebruik voor dit voorbeeld de volgende inhoud:

    Belangrijk

    Voordat u het JSON-bestand opslaat, stelt u de waarde van het startTime element in op de huidige UTC-tijd. Stel de waarde van het endTime element in op één uur voorbij de huidige UTC-tijd.

    {
        "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"
                }
            }
        ]
    }
    

    In het JSON-fragment:

    • Het type element van de trigger is ingesteld op ScheduleTrigger.

    • Het frequency element is ingesteld op Minute en het interval element is ingesteld op 15. Als zodanig wordt de pijplijn elke 15 minuten tussen de begin- en eindtijd uitgevoerd.

    • Het timeZone element geeft de tijdzone aan waarin de trigger wordt gemaakt. Deze instelling is van invloed op zowel startTime als endTime.

    • Het endTime element is één uur na de waarde van het startTime element. De trigger voert daarom de pijplijn 15 minuten, 30 minuten en 45 minuten na de begintijd uit. Vergeet niet om de begintijd bij te werken naar de huidige UTC-tijd en de eindtijd tot één uur voorbij de begintijd.

      Belangrijk

      Voor de UTC-tijdzone moeten de startTime en endTime de notatie yyyy-MM-ddTHH:mm:ssZ volgen. Voor andere tijdzones startTime en endTime volgt u de yyyy-MM-ddTHH:mm:ss notatie.

      Volgens de ISO 8601-standaard wordt het Z-achtervoegsel gebruikt om de datum/tijd aan de UTC-tijdzone te markeren en het timeZone veld nutteloos te maken. Als het Z-achtervoegsel ontbreekt voor de UTC-tijdzone, is het resultaat een fout bij het activeren van de trigger.

    • De trigger is gekoppeld aan de Adfv2QuickStartPipeline pijplijn. Als u meerdere pijplijnen wilt koppelen aan een trigger, voegt u meer pipelineReference secties toe.

    • De pijplijn in de quickstart heeft twee parameters waarden: inputPath en outputPath. U geeft waarden voor deze parameters door vanaf de trigger.

  2. Maak een trigger met behulp van de opdracht az datafactory trigger create :

    az datafactory trigger create --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory"  --name "MyTrigger" --properties @MyTrigger.json  
    
  3. Controleer of de status van de trigger gestopt is door gebruik te maken van het commando az datafactory trigger show:

    az datafactory trigger show --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --name "MyTrigger" 
    
  4. Start de trigger met behulp van de opdracht az datafactory trigger start :

    az datafactory trigger start --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --name "MyTrigger" 
    
  5. Gebruik de opdracht az datafactory trigger show om te controleren of de status van de trigger is Gestart.

    az datafactory trigger show --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --name "MyTrigger" 
    
  6. Verkrijg de triggeruitvoeringen in de Azure CLI met behulp van het commando az datafactory trigger-run query-by-factory. Voer regelmatig de volgende opdracht uit om informatie over de triggeruitvoeringen op te halen. Werk de last-updated-after en last-updated-before waarden bij zodat ze overeenkomen met de waarden in uw triggerdefinitie.

    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"
    

    Notitie

    De triggertijden van schematriggers worden opgegeven in de UTC-tijdstempel. laatst bijgewerkt na en laatst bijgewerkt-voordat verwacht ook de UTC-tijdstempel.

    Zie Pijplijnuitvoeringen bewaken om de triggers en pijplijnuitvoeringen in de Azure portal in de gaten te houden.

.NET SDK

In deze sectie wordt beschreven hoe u de .NET SDK gebruikt om een trigger te maken, te starten en te bewaken. Als u wilt zien hoe dit voorbeeld werkt, gaat u eerst door met de quickstart: Een data factory maken met behulp van de .NET SDK. Voeg vervolgens de volgende code toe aan de hoofdmethode, waarmee een schematrigger wordt aangemaakt en gestart die elke 15 minuten actief is. De trigger is gekoppeld aan een pijplijn met de naam Adfv2QuickStartPipeline die u maakt als onderdeel van de quickstart.

Om een schematrigger te maken en te starten die elke 15 minuten wordt uitgevoerd, voegt u de volgende code toe aan de hoofdmethode:

            // 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);

Als u triggers wilt maken in een andere tijdzone dan UTC, zijn de volgende instellingen vereist:

<<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;

Als u een triggeruitvoering wilt bewaken, voegt u de volgende code toe vóór de laatste Console.WriteLine instructie in het voorbeeld:

            // 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();
                    }
                }
            }

Zie Pijplijnuitvoeringen bewaken om de triggers en pijplijnuitvoeringen in de Azure portal in de gaten te houden.

Python SDK

In deze sectie wordt beschreven hoe u de Python SDK gebruikt om een trigger te maken, te starten en te bewaken. Als u wilt zien hoe dit voorbeeld werkt, gaat u eerst door met de QuickStart: Een data factory maken met behulp van de Python SDK. Voeg vervolgens het volgende codeblok toe na het monitor the pipeline run codeblok in het Python-script. Met deze code maakt u een schematrigger die elke 15 minuten tussen de opgegeven begin- en eindtijden wordt uitgevoerd. Werk de start_time variabele bij naar de huidige UTC-tijd en de end_time variabele tot één uur voorbij de huidige UTC-tijd.

    # 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)

Zie Pijplijnuitvoeringen bewaken om de triggers en pijplijnuitvoeringen in de Azure portal in de gaten te houden.

Azure Resource Manager-sjabloon

U kunt een Azure Resource Manager-sjabloon gebruiken om een trigger te maken. Zie Een Azure-gegevensfactory maken met behulp van een Azure Resource Manager-sjabloon voor stapsgewijze instructies.

De starttijd van de trigger doorgeven aan een pijplijn

Azure Data Factory versie 1 ondersteunt het lezen of schrijven van gepartitioneerde gegevens met behulp van de systeemvariabelen SliceStart, SliceEnd, WindowStarten WindowEnd. In de huidige versie van Data Factory- en Azure Synapse-pijplijnen kunt u dit gedrag bereiken met behulp van een pijplijnparameter. De starttijd en de geplande tijd voor de trigger worden ingesteld als waarde voor de parameter van de pijplijn. In het volgende voorbeeld wordt de geplande tijd voor de trigger doorgegeven als een waarde aan de pijplijnparameter scheduledRunTime :

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

JSON-schema

In de volgende JSON-definitie ziet u hoe u een schematrigger maakt met planning en herhaling:

{
  "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>"
                }
           }
      ]
  }
}

Belangrijk

De parameters eigenschap is een verplichte eigenschap van het pipelines element. Als uw pijplijn geen parameters accepteert, moet u een lege JSON-definitie voor de parameters eigenschap opnemen.

Schemaoverzicht

De volgende tabel bevat een algemeen overzicht van de belangrijkste schema-elementen die betrekking hebben op terugkeerpatroon en planning van een trigger.

JSON-eigenschap Beschrijving
startTime Een datum/tijdwaarde. Voor eenvoudige schema's is de waarde van de startTime eigenschap van toepassing bij de eerste keer. Voor complexe schema's start de trigger niet eerder dan de opgegeven startTime waarde.
Voor de UTC-tijdzone is de notatie 'yyyy-MM-ddTHH:mm:ssZ'. Voor andere tijdzones is de notatie yyyy-MM-ddTHH:mm:ss.
endTime De einddatum en -tijd voor de trigger. De trigger wordt na de opgegeven einddatum en -tijd niet uitgevoerd. De waarde voor de eigenschap kan niet in het verleden liggen. Deze eigenschap is optioneel.
Voor de UTC-tijdzone is de notatie 'yyyy-MM-ddTHH:mm:ssZ'. Voor andere tijdzones is de notatie yyyy-MM-ddTHH:mm:ss.
timeZone De tijdzone waarin de trigger gecreëerd wordt. Deze instelling is van invloed op startTime, endTimeen schedule. Bekijk een lijst met ondersteunde tijdzones.
recurrence Een recurrerentie-object dat de terugkeerregels voor de trigger specificeert. Het herhalingsobject ondersteunt de frequency, interval, endTime, count en schedule elementen. Wanneer een terugkeerobject is gedefinieerd, is het frequency element vereist. De overige elementen van het recurrence-object zijn optioneel.
frequency De eenheid van frequentie waarmee de trigger terugkeert. De ondersteunde waarden zijn onder andere minute,hour,day, weeken .month
interval Een positief geheel getal dat het interval voor de frequency waarde aangeeft, waarmee wordt bepaald hoe vaak de trigger wordt uitgevoerd. Als de interval is 3 en de frequency is week, wordt de trigger bijvoorbeeld om de 3 weken herhaald.
schedule Het herhalingsschema voor de trigger. Een trigger met een opgegeven frequency waarde wijzigt het terugkeerpatroon op basis van een terugkeerschema. De schedule eigenschap bevat wijzigingen voor het terugkeerpatroon dat is gebaseerd op minuten, uren, weekdagen, maanddagen en weeknummer.

Belangrijk

Voor de UTC-tijdzone startTime en endTime moet u de notatie yyyy-MM-ddTHH:mm:ssZ volgen. Voor andere tijdzones startTime en endTime volgt u de yyyy-MM-ddTHH:mm:ss notatie.

Volgens de ISO 8601-standaard wordt het Z-achtervoegsel gebruikt om de datum/tijd aan de UTC-tijdzone te markeren en het timeZone veld nutteloos te maken. Als het Z-achtervoegsel ontbreekt voor de UTC-tijdzone, is het resultaat een fout bij het activeren van de trigger.

Schema-standaardinstellingen, limieten en voorbeelden

JSON-eigenschap Typologie Vereist Standaardwaarde Geldige waarden Voorbeeld
startTime Snaar / Touwtje Ja Geen Datums en tijden volgens ISO 8601 Voor de UTC-tijdzone: "startTime" : "2013-01-09T09:30:00-08:00Z"
Voor andere tijdzones: "2013-01-09T09:30:00-08:00"
timeZone Snaar / Touwtje Ja Geen Tijdzonewaarden "UTC"
recurrence Voorwerp Ja Geen Herhalingsobject "recurrence" : { "frequency" : "monthly", "interval" : 1 }
interval Aantal Nee 1 1 tot 1000 "interval":10
endTime Snaar / Touwtje Ja Geen Datum/tijd-waarde die een tijd in de toekomst vertegenwoordigt Voor de UTC-tijdzone: "endTime" : "2013-02-09T09:30:00-08:00Z"
Voor andere tijdzones: "endTime" : "2013-02-09T09:30:00-08:00"
schedule Voorwerp Nee Geen Schedule-object "schedule" : { "minute" : [30], "hour" : [8,17] }

Optie Tijdzone

Hier volgen enkele van de tijdzones die worden ondersteund voor schematriggers.

Tijdzone UTC-offset (zonder zomertijd) tijdzonewaarde Let op zomertijd Tijdstempelnotatie
Gecoördineerde wereldtijd 0 UTC Nee 'yyyy-MM-ddTHH:mm:ssZ'
Pacifische tijd (PT) -8 Pacific Standard Time Ja 'yyyy-MM-ddTHH:mm:ss'
Centrale tijd (CT) -6 Central Standard Time Ja 'yyyy-MM-ddTHH:mm:ss'
Oostelijke tijd (ET) -5 Eastern Standard Time Ja 'yyyy-MM-ddTHH:mm:ss'
Greenwich Mean Time (GMT) 0 GMT Standard Time Ja 'yyyy-MM-ddTHH:mm:ss'
Centraal-Europese standaardtijd +1 W. Europe Standard Time Ja 'yyyy-MM-ddTHH:mm:ss'
Indiase standaardtijd (IST) +5:30 India Standard Time Nee 'yyyy-MM-ddTHH:mm:ss'
Chinese Standaardtijd +8 China Standard Time Nee 'yyyy-MM-ddTHH:mm:ss'

Deze lijst is onvolledig. Zie de pagina voor het maken van triggers in de portal voor een volledige lijst van tijdzoneopties.

Eigenschap startTime

In de volgende tabel ziet u hoe de startTime eigenschap een triggeruitvoering beheert.

startTime-waarde Recurrence zonder schedule Herhaling met schema
Starttijd in het verleden Berekent de eerstvolgende uitvoering na de starttijd en voert deze op dat moment uit.

Voert volgende uitvoeringen uit op basis van de berekening vanaf de laatste uitvoeringstijd.

Zie het voorbeeld onder deze tabel.
De trigger wordt nooit vóór de opgegeven begintijd geactiveerd. De eerste gebeurtenis is gebaseerd op het schema dat wordt berekend op basis van de starttijd.

Voert volgende uitvoeringen uit volgens het recursieschema.
De starttijd ligt in de toekomst, of op dit moment Draait eenmaal op de opgegeven starttijd.

Voert volgende uitvoeringen uit op basis van de berekening vanaf de laatste uitvoeringstijd.
De trigger wordt nooit vóór de opgegeven begintijd geactiveerd. De eerste gebeurtenis is gebaseerd op het schema dat wordt berekend op basis van de starttijd.

Voert volgende uitvoeringen uit volgens het recursieschema.

We bekijken een voorbeeld van wat er gebeurt wanneer de starttijd in het verleden ligt en er een herhalingspatroon, maar geen schema is opgegeven. Neem aan dat de huidige tijd 2017-04-08 13:00 is, de starttijd 2017-04-07 14:00 en de herhaling elke twee dagen. (De recurrence waarde wordt gedefinieerd door de frequency eigenschap in te day stellen op en de interval eigenschap op 2.) U ziet dat de startTime waarde zich in het verleden bevindt en vóór de huidige tijd plaatsvindt.

Onder deze voorwaarden bevindt de eerste uitvoering zich op 2017-04-0914:00. De scheduler berekent executie-voorkomens vanaf de starttijd. Alle gevallen in het verleden worden genegeerd. De engine gebruikt de eerstvolgende instantie die in de toekomst plaatsvindt. In dit scenario begint de tijd 2017-04-07 op 2:00pm, dus de volgende gebeurtenis is twee dagen vanaf dat moment, namelijk 2017-04-09 op 2:00pm.

De eerste uitvoeringstijd is hetzelfde, zelfs als de startTime-waarde 2017-04-05 14:00 of 2017-04-01 14:00 is. Na de eerste uitvoering worden volgende uitvoeringen berekend met behulp van het schema. Daarom bevinden de volgende uitvoeringen zich op 2017-04-11 , 2:00pmvervolgens 2017-04-13 op 2:00pm, vervolgens 2017-04-15 op 2:00pm, enzovoort.

Ten slotte, als de uren of minuten niet zijn ingesteld in het schema voor een trigger, worden de uren of minuten van de eerste uitvoering als standaard gebruikt.

Eigenschap schedule

Het gebruik van een schema kan het aantal triggeruitvoeringen beperken. Als een trigger bijvoorbeeld een maandelijkse frequentie heeft en enkel is ingesteld om uitgevoerd te worden op dag 31, wordt de trigger alleen uitgevoerd in de maanden die een 31e dag hebben.

Een planning kan ook het aantal triggeruitvoeringen uitbreiden. Bijvoorbeeld: een trigger met een geplande maandfrequentie voor uitvoering op de maanddagen 1 en 2, wordt uitgevoerd op de eerste en tweede dag van de maand, in plaats van eenmaal per maand.

Als er meerdere schedule elementen zijn opgegeven, is de evaluatievolgorde van de grootste naar de kleinste planningsinstelling. De evaluatie begint met het weeknummer en vervolgens de maanddag, weekdag, uur en ten slotte minuut.

In de volgende tabel worden de schedule elementen gedetailleerd beschreven.

JSON-element Beschrijving Geldige waarden
minutes Minuten binnen het uur waarop de trigger wordt geactiveerd.
  • Geheel getal
  • Matrix van gehele getallen
hours Uren van de dag op welk tijdstip de trigger wordt geactiveerd.
  • Geheel getal
  • Matrix van gehele getallen
weekDays Dagen van de week waarop de trigger wordt uitgevoerd. De waarde kan alleen worden opgegeven met een weekfrequentie.
  • Maandag, dinsdag, woensdag, donderdag, vrijdag, zaterdag, zondag.
  • Matrix van dagwaarden (maximale matrixgrootte is 7).
  • Dagwaarden zijn niet hoofdlettergevoelig.
monthlyOccurrences Dagen van de maand waarop de activering wordt uitgevoerd. De waarde kan alleen worden opgegeven met een maandfrequentie.
  • Matrix van monthlyOccurrences objecten: { "day": day, "occurrence": occurrence }.
  • Het day eigenschap is de dag van de week waarop de trigger actief is. Bijvoorbeeld, een monthlyOccurrences eigenschap met een day waarde van {Sunday} betekent elke zondag van de maand. Het day kenmerk is vereist.
  • Het occurrence kenmerk is het optreden van de opgegeven day gedurende de maand. Een eigenschap met monthlyOccurrences en day waarden van occurrence betekent bijvoorbeeld {Sunday, -1} de laatste zondag van de maand. Het occurrence kenmerk is optioneel.
monthDays Dagen van de maand waarop de trigger wordt uitgevoerd. De waarde kan alleen worden opgegeven met een maandfrequentie.
  • Elke waarde <= -1 en >= -31
  • Elke waarde >= 1 en <= 31
  • Matrix met waarden

Voorbeelden van schema's voor uitvoeringen van triggers

Deze sectie bevat voorbeelden van terugkeerschema's en richt zich op het object en de schedule bijbehorende elementen.

In de voorbeelden wordt ervan uitgegaan dat de interval waarde is 1 en dat de frequency waarde juist is volgens de planningsdefinitie. U kunt bijvoorbeeld geen frequency waarde van day hebben en tegelijkertijd ook een monthDays wijziging in het schedule object. Dergelijke beperkingen staan vermeld in de tabel in de vorige sectie.

Voorbeeld Beschrijving
{"hours":[5]} Wordt elke dag om 5:00 uur uitgevoerd.
{"minutes":[15], "hours":[5]} Wordt elke dag om 5:15 uur uitgevoerd.
{"minutes":[15], "hours":[5,17]} Wordt elke dag om 05:15 en 17:15 uur uitgevoerd.
{"minutes":[15,45], "hours":[5,17]} Wordt elke dag uitgevoerd om 5:15 uur 's ochtends, 5:45 uur 's ochtends, 5:15 uur 's middags en 5:45 uur 's middags.
{"minutes":[0,15,30,45]} Wordt elke 15 minuten uitgevoerd.
{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]} Wordt elk uur uitgevoerd. Deze trigger wordt elk uur uitgevoerd. De minuten worden bepaald door de startTime waarde wanneer een waarde wordt opgegeven. Als er geen waarde is opgegeven, worden de minuten bepaald door de aanmaaktijd. Als de starttijd of aanmaaktijd (afhankelijk van wat van toepassing is) bijvoorbeeld 12:25 uur is, wordt de trigger uitgevoerd om 00:25, 01:25, 02:25, ..., en 23:25 uur.

Dit schema is gelijk aan het hebben van een trigger met een frequency waarde van hour, een interval waarde van 1en nee schedule. Dit schema kan worden gebruikt met verschillende waarden voor frequency en interval om andere triggers te creëren. Als de frequency waarde bijvoorbeeld is month, wordt het schema slechts één keer per maand uitgevoerd, in plaats van elke dag, wanneer de frequency waarde is day.
{"minutes":[0]} Wordt elk uur op het hele uur uitgevoerd. Deze trigger wordt elk uur op het hele uur uitgevoerd, te beginnen om 00:00 uur en vervolgens om 1:00 uur, 2:00 uur enzovoort.

Dit schema is gelijk aan een trigger met een frequency waarde van hour en een startTime waarde van nul minuten, of nee schedule , maar een frequency waarde van day. Als de frequency waarde is week of month, wordt de planning één dag per week of één dag per maand uitgevoerd, respectievelijk.
{"minutes":[15]} Wordt 15 minuten na elk uur uitgevoerd. Deze trigger wordt elk uur uitgevoerd op 15 minuten na het hele uur, te beginnen om 00:15 uur, 1:15 uur, 2:15 uur, en zo verder, en eindigend om 23:15 uur.
{"hours":[17], "weekDays":["saturday"]} Wordt elke week op zaterdag om 17:00 uur uitgevoerd.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Wordt elke week op maandag, woensdag en vrijdag om 17:00 uur uitgevoerd.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Wordt elke week op maandag, woensdag en vrijdag om 17:15 en 17:45 uur uitgevoerd.
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Wordt op weekdagen elke 15 minuten uitgevoerd.
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Wordt op weekdagen elke 15 minuten tussen 9:00 en 16:45 uur uitgevoerd.
{"weekDays":["tuesday", "thursday"]} Wordt op dinsdag en donderdag op de opgegeven begintijd uitgevoerd.
{"minutes":[0], "hours":[6], "monthDays":[28]} Uitgaande van een frequency waarde van month, wordt om 6:00 uur op de 28e dag van elke maand uitgevoerd.
{"minutes":[0], "hours":[6], "monthDays":[-1]} Wordt op de laatste dag van de maand om 6:00 uur uitgevoerd. Als u een trigger wilt uitvoeren op de laatste dag van een maand, gebruik dan -1 in plaats van dag 28, 29, 30 of 31.
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} Wordt op de eerste en laatste dag van elke maand om 6:00 uur uitgevoerd.
{monthDays":[1,14]} Wordt op de eerste en veertiende dag van elke maand op de opgegeven begintijd uitgevoerd.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Wordt op de eerste vrijdagdag van elke maand om 5:00 uur uitgevoerd.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Wordt op de eerste vrijdag van elke maand op de opgegeven begintijd uitgevoerd.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Wordt op de derde vrijdag vanaf het eind van de maand elke maand op de opgegeven begintijd uitgevoerd.
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Wordt op de eerste en laatste vrijdagdag van elke maand om 5:15 uur uitgevoerd.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Wordt op de eerste en laatste vrijdag van elke maand op de opgegeven begintijd uitgevoerd.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Wordt op de vijfde vrijdag van elke maand op de opgegeven begintijd uitgevoerd. Als er geen vijfde vrijdag in een maand is, wordt de pijplijn niet uitgevoerd omdat deze alleen op vijfde vrijdagen is gepland. Als u de trigger wilt uitvoeren op de laatste vrijdag van de maand, kunt u -1 gebruiken in plaats van 5 voor de occurrence waarde.
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} Wordt op de laatste vrijdag van de maand elke 15 minuten uitgevoerd.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Wordt elke maand op de derde woensdag om 5:15, 5:45, 17:15 en 17:45 uur uitgevoerd.