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.
Ga naar het tabblad Bewerken in Data Factory of het tabblad Integreren in Azure Synapse.
Selecteer Trigger in het menu selecteer vervolgens Nieuw/Bewerken.
Selecteer op de pagina Triggers toevoegen de optie Trigger kiezen en selecteer Vervolgens Nieuw.
Op de pagina Nieuwe trigger :
Controleer of Planning is geselecteerd voor Type.
Geef de begindatum van de trigger op voor begindatum. Deze is standaard ingesteld op de huidige datum/tijd in Coordinated Universal Time (UTC).
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.
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.
Als u onder Terugkeerpatroon dag(en), week(en) of maand(en) kiest in de vervolgkeuzelijst, ziet u geavanceerde opties voor terugkeerpatroon.
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.
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.
Controleer in het venster Nieuwe trigger het waarschuwingsbericht en selecteer VERVOLGENS OK.
Selecteer Alles publiceren om de wijzigingen te publiceren. Totdat u de wijzigingen publiceert, wordt de trigger niet gestart met het activeren van de pijplijnuitvoeringen.
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.
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
- Azure-abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
- Azure PowerShell. Volg de instructies in Azure PowerShell installeren in Windows met PowerShellGet.
Voorbeeldcode
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 hetendTime
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 opScheduleTrigger
.Het
frequency
element is ingesteld opMinute
en hetinterval
element is ingesteld op15
. 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 zowelstartTime
alsendTime
.Het
endTime
element is één uur na de waarde van hetstartTime
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
enendTime
moet u de notatieyyyy-MM-ddTHH:mm:ss
Z volgen. Voor andere tijdzonesstartTime
enendTime
volgt u deyyyy-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 hettimeZone
veld nutteloos te maken. Als hetZ
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 meerpipelineReference
secties toe.De pijplijn in de quickstart heeft twee
parameters
waarden:inputPath
enoutputPath
. U geeft waarden voor deze parameters door vanaf de trigger.
Maak een trigger met behulp van de cmdlet Set-AzDataFactoryV2Trigger :
Set-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger" -DefinitionFile "C:\ADFv2QuickStartPSH\MyTrigger.json"
Controleer of de status van de trigger is gestopt met behulp van de cmdlet Get-AzDataFactoryV2Trigger :
Get-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
Start de trigger met behulp van de cmdlet Start-AzDataFactoryV2Trigger :
Start-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
Controleer of de status van de trigger is gestart met behulp van de cmdlet Get-AzDataFactoryV2Trigger :
Get-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "MyTrigger"
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 bijTriggerRunStartedBefore
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
enTriggerRunStartedBefore
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
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Voorbeeldcode
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 hetendTime
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 opScheduleTrigger
.Het
frequency
element is ingesteld opMinute
en hetinterval
element is ingesteld op15
. 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 zowelstartTime
alsendTime
.Het
endTime
element is één uur na de waarde van hetstartTime
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 notatieyyyy-MM-ddTHH:mm:ss
Z volgen. Voor andere tijdzonesstartTime
enendTime
volgt u deyyyy-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 meerpipelineReference
secties toe.De pijplijn in de quickstart heeft twee
parameters
waarden:inputPath
enoutputPath
. U geeft waarden voor deze parameters door vanaf de trigger.
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
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"
Start de trigger met behulp van de opdracht az datafactory trigger start :
az datafactory trigger start --resource-group "ADFQuickStartRG" --factory-name "ADFTutorialFactory" --name "MyTrigger"
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"
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 bijlast-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
, WindowStart
en 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:ss de 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:ss de notatie . |
timeZone |
De tijdzone waarin de trigger wordt gemaakt. Deze instelling is van invloed op startTime , endTime en schedule . Bekijk een lijst met ondersteunde tijdzones. |
recurrence |
Een recurrence-object bepaalt de regels voor het terugkeerpatroon van de trigger. Het terugkeerobject ondersteunt de frequency elementen , interval , endTime en count schedule 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 , week en .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:ss
Z 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:00pm
vervolgens 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. |
|
hours |
Uren van de dag waarop de trigger wordt uitgevoerd. |
|
weekDays |
Dagen van de week waarop de trigger wordt uitgevoerd. De waarde kan alleen worden opgegeven met een weekfrequentie. |
|
monthlyOccurrences |
Dagen van de maand waarop de trigger wordt uitgevoerd. De waarde kan alleen worden opgegeven met een maandfrequentie. |
|
monthDays |
Dagen van de maand waarop de trigger wordt uitgevoerd. De waarde kan alleen worden opgegeven met een maandfrequentie. |
|
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 1 en 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. |
Gerelateerde inhoud
- Zie Pijplijnuitvoering en triggers voor meer informatie over triggers.
- Zie Referentietriggermetagegevens in pijplijnuitvoeringen voor meer informatie over het verwijzen naar metagegevens van triggers in pijplijnuitvoeringen.