Delen via


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 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 secties bevatten stappen voor het maken van een schematrigger op verschillende manieren.

Ervaring met Azure Data Factory en Azure Synapse Portal

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

Notitie

Voor een volledig overzicht van het maken van een pijplijn en een schematrigger, die de trigger aan de pijplijn koppelt en de pijplijn uitvoert en bewaakt, raadpleegt u de 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 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 Triggers toevoegen.

  3. Op de pagina Nieuwe trigger :

    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 opties voor terugkeerpatroon. 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 trigger wordt beschouwd als 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 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.

      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. 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 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 gegevens eindigt 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 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.

      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, wordt de trigger niet gestart met het activeren van de pijplijnuitvoeringen.

    Schermopname van de knop Alles publiceren.

  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 Planning van 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 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 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 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 waarden bij TriggerRunStartedBefore 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 de UTC-tijdstempel.

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

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 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 de 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 last-updated-after waarden bij last-updated-before 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 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 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 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 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);

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 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 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 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 Azure 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, WindowStarten WindowEnd. In de huidige versie van Data Factory- en Azure 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 pijplijnparameter scheduledRunTime :

"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 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 planningen is de waarde van de startTime eigenschap van toepassing op het eerste exemplaar. Voor complexe schema's start de trigger niet eerder dan de opgegeven startTime waarde.
Voor de UTC-tijdzone is 'yyyy-MM-ddTHH:mm:ssZ'de notatie . Voor andere tijdzones is yyyy-MM-ddTHH:mm:ssde notatie .
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 'yyyy-MM-ddTHH:mm:ssZ'de notatie . Voor andere tijdzones is yyyy-MM-ddTHH:mm:ssde notatie .
timeZone De tijdzone waarin de trigger wordt gemaakt. Deze instelling is van invloed op startTime, endTimeen schedule. Bekijk een lijst met ondersteunde tijdzones.
recurrence Een recurrence-object bepaalt de regels voor het terugkeerpatroon van de trigger. Het terugkeerobject ondersteunt de frequencyelementen , interval, endTimeen countschedule elementen. Wanneer een terugkeerobject is gedefinieerd, is het frequency element 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 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 terugkeerschema 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.

Standaardschemawaarden, limieten en voorbeelden

JSON-eigenschap Type Vereist Default value Geldige waarden Opmerking
startTime String Ja None 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 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 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 Object Nee Geen Schedule-object "schedule" : { "minute" : [30], "hour" : [8,17] }

Optie Tijdzone

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

Time zone UTC-offset (niet-zomertijd) tijdzonewaarde Let op zomertijd 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. Zie de pagina Trigger maken in de portal voor een volledige lijst met tijdzoneopties.

Eigenschap startTime

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

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 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-09 14: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 hetzelfde, zelfs als de startTime waarde of 2017-04-05 14:00 2017-04-01 14:00. 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 worden de uren of minuten die niet zijn ingesteld in de planning voor een trigger, de uren of minuten van de eerste uitvoering gebruikt als de standaardwaarden.

Eigenschap schedule

Het gebruik van een schema kan het aantal triggeruitvoeringen beperken. 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.

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 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.
  • Matrix van dagwaarden (maximale matrixgrootte 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 monthlyOccurrences objecten: { "day": day, "occurrence": occurrence }.
  • Het day kenmerk is de dag van de week waarop de trigger wordt uitgevoerd. Bijvoorbeeld een monthlyOccurrences eigenschap met een day waarde van {Sunday} de middelen elke zondag van de maand. Het day kenmerk is vereist.
  • Het occurrence kenmerk is het exemplaar van de opgegeven day tijdens de maand. Een eigenschap met day en occurrence waarden van {Sunday, -1} betekent bijvoorbeeld monthlyOccurrences 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 waarde hebben frequency van day en ook een monthDays wijziging 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 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 frequency waarden om interval andere triggers te maken. 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 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 uitgevoerd om 6:00 uur op de 28e dag van elke maand (uitgaande van een frequency waarde).month
{"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 vrijdag moet worden uitgevoerd. 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.