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

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

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 Pijplijnuitvoering en triggers voor andere typen triggers.

Wanneer u een schematrigger maakt, geeft u een planning op (begindatum, terugkeerpatroon, einddatum, enzovoort) 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 secties bevatten stappen voor het maken van een schematrigger op verschillende manieren.

Ervaring van Azure Data Factory en Synapse-portal

U kunt een schematrigger maken om een pijplijn periodiek uit te voeren (elk uur, dagelijks, enzovoort).

Notitie

Voor een volledige procedure voor het maken van een pijplijn en een schematrigger, die de trigger aan de pijplijn koppelt en de pijplijn uitvoert en bewaakt, raadpleegt u quickstart: een data factory 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 en selecteer Vervolgens Nieuw/Bewerken.

    New trigger menu

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

    Add triggers - new trigger

  3. Voer op de pagina Nieuwe trigger de volgende stappen uit:

    1. Controleer of Planning 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 plannen in geavanceerde terugkeeropties . Als u de instelling tijdzone wijzigt, wordt de begindatum niet automatisch gewijzigd. Controleer of de begindatum juist is in de opgegeven tijdzone. Houd er rekening mee dat geplande uitvoeringstijd van trigger wordt beschouwd als de begindatum (zorg ervoor dat de begindatum minimaal 1 minuut kleiner is dan de uitvoeringstijd, anders wordt de pijplijn geactiveerd in het volgende terugkeerpatroon).

      Notitie

      Voor tijdzones die zomertijd observeren, wordt de activeringstijd automatisch aangepast voor de wijziging van twee keer per jaar, als het terugkeerpatroon is ingesteld op Dagen of hoger. Als u zich wilt afmelden voor de zomertijd, selecteert u een tijdzone die geen zomertijd ziet, bijvoorbeeld UTC

      Belangrijk

      Aanpassing van zomertijd vindt alleen plaats voor trigger met terugkeerpatroon ingesteld op Dagen of hoger. Als de trigger is ingesteld op de frequentie uren of minuten , blijft deze met regelmatige tussenpozen geactiveerd.

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

    5. Als u in de vervolgkeuzelijst Terugkeerpatroon kiest voor 'Dag(en), Week(en) of Maand(en)', vindt u 'Geavanceerde opties voor terugkeerpatroon'. Advanced recurrence options of Day(s), Week(s) or Month(s)

    6. Als u een einddatum wilt opgeven, selecteert u Een einddatum opgeven en geeft u Eindigt op en selecteert u OK. Er zijn kosten gekoppeld aan elke uitvoering van de pijplijn. Als u test, wilt u er mogelijk voor zorgen dat de pijplijn slechts een paar keer wordt geactiveerd. Zorg er echter wel 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.

      Trigger settings

      Trigger settings for End Date

  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.

    Trigger settings - Next button

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

    Trigger settings - Finish button

  6. Selecteer Alles publiceren om de wijzigingen te publiceren. Totdat u de wijzigingen publiceert, wordt de trigger niet gestart met het activeren van de pijplijnuitvoeringen.

    Publish button

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


  1. Schakel over naar de weergave Schema voor triggeruitvoeringen \ .


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 dit voorbeeld wilt zien werken, gaat u eerst door de quickstart: Een gegevensfactory maken met behulp van Azure PowerShell. Voeg vervolgens de volgende code toe aan de hoofdmethode, waarmee een schematrigger wordt gemaakt en gestart 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 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 frequentieelement wordt ingesteld op Minuut en het intervalelement is ingesteld op 15. Als zodanig wordt de pijplijn elke 15 minuten tussen de begin- en eindtijd uitgevoerd.

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

    • Het element endTime is één uur na de waarde van het element startTime . 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 UTC-tijdzone moeten de begin- en eindtijd de notatie 'jjjj-MM-ddTHH:mm:mm:ssZ' volgen, terwijl voor andere tijdzones startTime en endTime de notatie jjjj-MM-ddTHH:mm:ss volgen.

      Volgens ISO 8601-standaard markeert het Z-achtervoegsel om de datum/tijd aan UTC-tijdzone te markeren en wordt het tijdzoneveld nutteloos weergegeven. Als er Z-achtervoegsel ontbreekt voor de UTC-tijdzone, treedt er een fout op bij activering van de trigger.

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

    • De pijplijn in de quickstart heeft twee parameterwaarden : inputPath en outputPath. En u geeft waarden door voor deze parameters van 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 waarden TriggerRunStartedAfter en TriggerRunStartedBefore bij zodat deze overeenkomen met de waarden in de 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 UTC-tijdstempel

    Zie Pijplijnuitvoeringen bewaken om de triggeruitvoeringen en pijplijnuitvoeringen in Azure Portal te bewaken.

Azure-CLI

In deze sectie wordt beschreven hoe u Azure CLI gebruikt om een planningstrigger te maken, te starten en te bewaken. Als u wilt zien hoe dit voorbeeld werkt, gaat u eerst door de quickstart: Een Azure Data Factory maken met behulp van Azure CLI. Volg vervolgens de onderstaande 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 frequentieelement wordt ingesteld op Minuut en het intervalelement is ingesteld op 15. Als zodanig wordt de pijplijn elke 15 minuten tussen de begin- en eindtijd uitgevoerd.

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

    • Het element endTime is één uur na de waarde van het element startTime . 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 UTC-tijdzone moeten de begin- en eindtijd de notatie 'jjjj-MM-ddTHH:mm:mm:ssZ' volgen, terwijl voor andere tijdzones startTime en endTime de notatie jjjj-MM-ddTHH:mm:ss volgen.

      Volgens ISO 8601-standaard markeert het Z-achtervoegsel om de datum/tijd aan UTC-tijdzone te markeren en wordt het tijdzoneveld nutteloos weergegeven. Als er Z-achtervoegsel ontbreekt voor de UTC-tijdzone, treedt er een fout op bij activering van de trigger.

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

    • De pijplijn in de quickstart heeft twee parameterwaarden : inputPath en outputPath. En u geeft waarden door voor deze parameters van 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 is gestopt met behulp van de opdracht 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. Controleer of de status van de trigger is gestart met behulp van de opdracht az datafactory trigger show :

    az datafactory trigger show --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --name "MyTrigger" 
    
  6. Haal de triggeruitvoeringen op in Azure CLI met behulp van de opdracht az datafactory trigger-run query-by-factory . Voer regelmatig de volgende opdracht uit om informatie over de triggeruitvoeringen op te halen. Werk de laatst bijgewerkte waarden na en laatst bijgewerkt bij zodat deze overeenkomen met de waarden in de 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 triggertijd van schematriggers wordt opgegeven in de UTC-tijdstempel. laatst bijgewerkt na en laatst bijgewerkt-voordat verwacht ook UTC-tijdstempel

    Zie Pijplijnuitvoeringen bewaken om de triggeruitvoeringen en pijplijnuitvoeringen in Azure Portal te bewaken.

.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 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 gemaakt en gestart 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.

Als u een schematrigger wilt maken en 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);

Voor het maken van triggers in een andere tijdzone, met uitzondering van 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 triggeruitvoeringen en pijplijnuitvoeringen in Azure Portal te bewaken.

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 dit voorbeeld wilt zien werken, gaat u eerst door de quickstart: Een data factory maken met behulp van de Python SDK. Voeg vervolgens het volgende codeblok toe na het codeblok 'de pijplijnuitvoering bewaken' 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 variabele start_time bij naar de huidige UTC-tijd en de end_time variabele naar éé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 triggeruitvoeringen en pijplijnuitvoeringen in Azure Portal te bewaken.

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 Resource Manager-sjabloon voor stapsgewijze instructies.

De begintijd 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, WindowStart en WindowEnd. In de huidige versie van Azure Data Factory- en Synapse-pijplijnen kunt u dit gedrag bereiken met behulp van een pijplijnparameter. De begintijd en de geplande tijd voor de trigger worden ingesteld als de waarde voor de pijplijnparameter. In het volgende voorbeeld wordt de geplande tijd voor de trigger doorgegeven als een waarde aan de parameter scheduledRunTime van de pijplijn:

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

JSON-schema

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

{
  "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 eigenschap parameters is een verplichte eigenschap van het element pijplijnen. Als de pijplijn geen parameters aanneemt, dient u een lege JSON-definitie op te nemen voor de eigenschap parameters.

Schemaoverzicht

De volgende tabel bevat een overzicht van de belangrijkste schema-elementen die betrekking hebben op het terugkeerpatroon en het schema van een trigger:

JSON-eigenschap Beschrijving
startTime Een datum/tijdwaarde. Voor eenvoudige schema's is de waarde startTime van toepassing op de eerste gebeurtenis. In complexe schema's begint de trigger niet eerder dan de opgegeven waarde voor startTime.
Voor UTC-tijdzone is 'yyyy-MM-ddTHH:mm:ssZ'de notatie , voor een andere tijdzone, de notatie is '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 UTC-tijdzone is 'yyyy-MM-ddTHH:mm:ssZ'de notatie , voor een andere tijdzone, de notatie is 'yyyy-MM-ddTHH:mm:ss'.
timeZone De tijdzone waarin de trigger wordt gemaakt. Deze instelling is van invloed op startTime, endTime en planning. Lijst met ondersteunde tijdzones weergeven
recurrence Een recurrence-object bepaalt de regels voor het terugkeerpatroon van de trigger. Het recurrence-object ondersteunt de elementen frequency, interval, endTime, count en schedule. Als een recurrence-object wordt gedefinieerd, is het element frequency vereist. De overige elementen van het recurrence-object zijn optioneel.
frequency Hiermee geeft u de frequentie aan waarmee de trigger wordt uitgevoerd. De ondersteunde waarden omvatten 'minuut', 'uur', 'dag', 'week' en 'maand'.
interval Een positief geheel getal dat het interval voor de waarde frequency aangeeft. Het bepaalt hoe vaak de trigger wordt uitgevoerd. Als interval bijvoorbeeld 3 is en frequency 'week', dan wordt de trigger elke 3 weken uitgevoerd.
schedule Het terugkeerschema voor de trigger. Een trigger met een opgegeven waarde voor frequency wijzigt het terugkeerpatroon op basis van een terugkeerschema. De eigenschap property bevat wijzigingen voor het terugkeerpatroon en zijn gebaseerd op minuten, uren, weekdagen, maanddagen en weeknummer.

Belangrijk

Voor UTC-tijdzone moeten de begin- en eindtijd de notatie 'jjjj-MM-ddTHH:mm:mm:ssZ' volgen, terwijl voor andere tijdzones startTime en endTime de notatie jjjj-MM-ddTHH:mm:ss volgen.

Volgens ISO 8601-standaard markeert het Z-achtervoegsel om de datum/tijd aan UTC-tijdzone te markeren en wordt het tijdzoneveld nutteloos weergegeven. Als er Z-achtervoegsel ontbreekt voor de UTC-tijdzone, treedt er een fout op bij activering van de trigger.

Standaardschemawaarden, limieten en voorbeelden

JSON-eigenschap Type Vereist Default value Geldige waarden Opmerking
startTime String Ja None Datums en tijden volgens ISO 8601 voor UTC-tijdzone "startTime" : "2013-01-09T09:30:00-08:00Z"
voor andere tijdzone "2013-01-09T09:30:00-08:00"
timeZone String Ja None Tijdzonewaarden "UTC"
recurrence Object Ja None Recurrence-object "recurrence" : { "frequency" : "monthly", "interval" : 1 }
interval Aantal Nee 1 1 tot 1000 "interval":10
endTime String Ja None Een datum/tijdwaarde die een toekomstig tijdstip voorstelt. voor UTC-tijdzone "endTime" : "2013-02-09T09:30:00-08:00Z"
voor andere tijdzone "endTime" : "2013-02-09T09:30:00-08:00"
schedule Object Nee Geen Schedule-object "schedule" : { "minute" : [30], "hour" : [8,17] }

Optie Tijdzone

Hier volgen enkele tijdzones die worden ondersteund voor planningstriggers:

Tijdzone UTC-offset (niet-zomertijd) tijdzonewaarde Zomertijd observeren Tijdstempelnotatie
Coordinated Universal Time 0 UTC Nee 'yyyy-MM-ddTHH:mm:ssZ'
Pacific Time (PT) -8 Pacific Standard Time Ja 'yyyy-MM-ddTHH:mm:ss'
Central Time (CT) -6 Central Standard Time Ja 'yyyy-MM-ddTHH:mm:ss'
Eastern Time (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'
India Standard Time (IST) +5:30 India Standard Time Nee 'yyyy-MM-ddTHH:mm:ss'
China Standard Time 8+ China Standard Time Nee 'yyyy-MM-ddTHH:mm:ss'

Deze lijst is onvolledig. Voor een volledige lijst met tijdzoneopties bekijkt u de portalpagina voor het maken van triggers

Eigenschap startTime

In de volgende tabel ziet u hoe de eigenschap startTime de uitvoering van een trigger bepaalt:

startTime-waarde Recurrence zonder schedule Recurrence met schedule
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 tijd waarop de laatste uitvoering heeft plaatsgevonden.

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

Volgende uitvoeringen worden op basis van het terugkeerschema uitgevoerd.
De starttijd ligt in de toekomst, of op dit moment Uitvoering vindt eenmaal plaats op de opgegeven starttijd.

Voert volgende uitvoeringen uit op basis van de tijd waarop de laatste uitvoering heeft plaatsgevonden.
De trigger wordt nooit vóór de opgegeven begintijd geactiveerd. De eerste uitvoering is gebaseerd op het schema dat wordt berekend op basis van de starttijd.

Volgende uitvoeringen worden op basis van het terugkeerschema uitgevoerd.

We bekijken een voorbeeld van wat er gebeurt wanneer de startTime in het verleden ligt en er een terugkeerpatroon (recurrence), maar geen schema (schedule) is opgegeven. Neem aan dat de huidige tijd 2017-04-08 13:00 is, de starttijd 2017-04-07 14:00 en het terugkeerpatroon om de dag. (De terugkeerwaarde wordt gedefinieerd door de frequentie-eigenschap in te stellen op 'dag' en de intervaleigenschap op 2.) U ziet dat de waarde startTime 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-engine berekent uitvoeringen vanaf de startTime. Alle uitvoeringen in het verleden worden genegeerd. De engine gebruikt de eerstvolgende uitvoering die in de toekomst plaatsvindt. In dit scenario bevindt de begintijd zich 2017-04-07 op 2:00pm, dus het volgende exemplaar is twee dagen vanaf dat moment, dat zich 2017-04-09 op 2:00pm.

De eerste uitvoeringstijd is dezelfde, ook als startTime2017-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.

Als de uren of minuten niet in het schema voor een trigger zijn ingesteld, worden deze waarden van de eerste uitvoering als standaardwaarden gebruikt.

Eigenschap schedule

Enerzijds kan met een schema (schedule) het aantal uitvoeringen door een trigger worden beperkt. Als een trigger met de frequency 'maand' bijvoorbeeld een schedule-waarde heeft die alleen wordt uitgevoerd op dag 31, wordt de trigger alleen uitgevoerd in maanden die een 31e dag hebben.

Anderzijds kan een schedule het aantal uitvoeringen door een trigger ook 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 meerdere schedule-elementen worden opgegeven, is de volgorde voor de evaluatie van de hoogste naar de laagste instelling voor de waarde schedule. De evaluatie begint met weeknummer, waarna maanddag, weekdag, uur en minuut volgen.

In de volgende tabel worden de schedule-elementen in detail beschreven:

JSON-element Beschrijving Geldige waarden
minutes Minuten van het uur waarop de trigger wordt uitgevoerd.
  • Geheel getal
  • Matrix van gehele getallen
hours Uren van de dag waarop de trigger wordt uitgevoerd.
  • 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
  • Array met dagwaarden (maximale grootte van de array is 7)
  • Dagwaarden zijn niet hoofdlettergevoelig
monthlyOccurrences Dagen van de maand waarop de trigger wordt uitgevoerd. De waarde kan alleen worden opgegeven met een maandfrequentie.
  • Matrix van monthlyOccurrence-objecten : { "day": day, "occurrence": occurrence }.
  • Het attribuut day is de dag van de week waarop de trigger wordt uitgevoerd. Zo betekent de eigenschap monthlyOccurrences met een waarde day van {Sunday} dat er elke zondag van de maand een uitvoering is. Het attribuut day is verplicht.
  • Het attribuut occurrence slaat op het uitvoeren van de trigger op de opgegeven dag, day, tijdens de maand. Zo betekent de eigenschap monthlyOccurrences met de waarden day en occurrence van {Sunday, -1} dat er elke laatste zondag van de maand een uitvoering is. Het attribuut occurrence 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 is gericht op het object schedule en de bijbehorende elementen.

In het voorbeeld wordt ervan uitgegaan dat de waarde interval 1 is en de waarde frequency correct is volgens de definitie van het schema. De waarde voor frequency kan bijvoorbeeld niet tegelijkertijd 'day' zijn én een wijziging 'monthDays' in het schedule-object hebben. Dergelijke beperkingen staan vermeld in de tabel in de vorige sectie.

Opmerking 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 om 05:15, 5:45, 17:15 en 17:45 uur uitgevoerd.
{"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 door de waarde startTime bepaald (indien 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 komt overeen met een trigger met frequency 'uur', interval 1 en geen waarde voor schedule. Dit schema kan worden gebruikt met verschillende waarden voor frequency en interval om andere triggers te maken. Als bijvoorbeeld de waarde frequency 'maand' is, dan wordt het schema slechts eenmaal per maand uitgevoerd in plaats van elke dag (als frequency 'dag' is).
{"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 frequentiewaarde van 'uur' en een startTime-waarde van nul minuten, of geen schema , maar een frequentiewaarde van 'dag'. Als de frequentiewaarde 'week' of 'maand' is, wordt in het schema respectievelijk één dag per week of één dag per maand uitgevoerd.
{"minutes":[15]} Wordt 15 minuten na elk uur uitgevoerd. Deze trigger wordt elke 15 minuten na het hele uur uitgevoerd, te beginnen om 00:15 uur, en vervolgens om 1:15 uur, 2:15 uur, met de laatste uitvoering 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]} Wordt op dag 28 van elke maand om 6:00 uur uitgevoerd (bij een waarde voor frequency van 'maand').
{"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 een maand geen vijfde vrijdag heeft, wordt de pijplijn niet uitgevoerd, omdat deze is ingesteld om alleen op de vijfde vrijdag te worden uitgevoerd. Als u de trigger op de laatste vrijdag van de maand wilt uitvoeren, kunt u voor occurrence de waarde -1 gebruiken in plaats van 5.
{"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.