Delen via


Uitvoering van de pijplijn en triggers in Azure Data Factory of Azure Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Aanbeveling

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

Een pijplijnuitvoering in Azure Data Factory en Azure Synapse definieert een exemplaar van een pijplijnuitvoering. Stel dat u een pijplijn hebt die draait om 8:00 uur, 9:00 uur en 10:00 uur. In dit geval zijn er drie afzonderlijke uitvoeringen van de pijplijn, ook wel pijplijnuitvoeringen genoemd. Elke pijplijnuitvoering heeft een unieke pijplijnuitvoering-ID. Een uitvoerings-id is een GUID die die specifieke pijplijnuitvoering uniek definieert.

Pijplijnuitvoeringen worden doorgaans geïnstantieerd doordat argumenten worden doorgegeven aan parameters die u in de pijplijn definieert. U kunt een pijplijn handmatig of met behulp van een trigger uitvoeren. Dit artikel bevat informatie over beide manieren om een pijplijn uit te voeren.

Triggers maken met de gebruikersinterface

Als u handmatig een pijplijn wilt activeren of een nieuwe geplande, tumbling-window, opslaggebeurtenis of aangepaste gebeurtenistrigger wilt configureren, selecteert u Voeg trigger toe bovenaan de pijplijnbewerker.

Laat zien hoe u een nieuwe trigger toevoegt met de gebruikersinterface vanuit de pijplijneditor.

Als u ervoor kiest om de pijplijn handmatig te activeren, wordt deze onmiddellijk uitgevoerd. Anders, als u "Nieuw/Bewerken" kiest, wordt het venster voor het toevoegen van triggers geopend, waarin u wordt gevraagd om een bestaande trigger te kiezen om te bewerken, of een nieuwe trigger te maken.

Toont het venster Triggers toevoegen waarin wordt gemarkeerd waar u een nieuwe trigger kunt maken.

U ziet het venster triggerconfiguratie, zodat u het triggertype kunt kiezen.

Toont het nieuwe triggerconfiguratievenster met de vervolgkeuzelijst type met de verschillende typen triggers die u kunt maken.

Meer informatie over geplande, tumblingvensters, opslagevenementen en aangepaste gebeurtenistriggers hieronder.

Handmatige uitvoering

De handmatige uitvoering van een pijplijn wordt ook wel uitvoering op aanvraag genoemd.

Stel dat u een basispijplijn hebt met de naam copyPipeline die u wilt uitvoeren. De pijplijn heeft één activiteit, waarmee items worden gekopieerd uit een bronmap in Azure Blob Storage naar een doelmap in dezelfde opslagplaats. In de volgende JSON-definitie wordt deze voorbeeldpipeline getoond:

{
    "name": "copyPipeline",
    "properties": {
        "activities": [
            {
                "type": "Copy",
                "typeProperties": {
                    "source": {
                        "type": "BlobSource"
                    },
                    "sink": {
                        "type": "BlobSink"
                    }
                },
                "name": "CopyBlobtoBlob",
                "inputs": [
                    {
                        "referenceName": "sourceBlobDataset",
                        "type": "DatasetReference"
                    }
                ],
                "outputs": [
                    {
                        "referenceName": "sinkBlobDataset",
                        "type": "DatasetReference"
                    }
                ]
            }
        ],
        "parameters": {
            "sourceBlobContainer": {
                "type": "String"
            },
            "sinkBlobContainer": {
                "type": "String"
            }
        }
    }
}

In de JSON-definitie heeft de pijplijn twee parameters: sourceBlobContainer en sinkBlobContainer. Tijdens runtime geeft u waarden door aan deze parameters.

Handmatige uitvoering met andere API's/SDK's

U kunt de pijplijn handmatig uitvoeren met een van de volgende methoden:

  • .NET SDK
  • Azure PowerShell-module
  • REST-API
  • Python-SDK

.NET SDK

In de volgende voorbeeldoproep ziet u hoe u uw pijplijn handmatig uitvoert met behulp van de .NET SDK:

client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName, parameters)

Zie Quickstart: Een data factory maken met behulp van de .NET SDK voor een volledig voorbeeld.

Notitie

U kunt de .NET SDK gebruiken om pijplijnen aan te roepen vanuit Azure Functions, vanuit uw webservices, enzovoort.

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. Zie Azure PowerShell migreren van AzureRM naar Az voor meer informatie over het migreren naar de Az PowerShell-module.

In de volgende voorbeeldopdracht wordt getoond hoe u de pijplijn handmatig kunt uitvoeren met behulp van Azure PowerShell:

Invoke-AzDataFactoryV2Pipeline -DataFactory $df -PipelineName "Adfv2QuickStartPipeline" -ParameterFile .\PipelineParameters.json -ResourceGroupName "myResourceGroup"

U kunt parameters doorgeven in de inhoud van de hoofdtekst van het verzoek. In de .NET SDK, in Azure Powershell en in de Python SDK geeft u waarden in een woordenlijst door als een argument naar de aanroep:

{
  "sourceBlobContainer": "MySourceFolder",
  "sinkBlobContainer": "MySinkFolder"
}

De antwoordlading is een unieke ID van de pijplijnuitvoering.

{
  "runId": "0448d45a-a0bd-23f3-90a5-bfeea9264aed"
}

Zie Quickstart: Een gegevensfactory maken met behulp van Azure PowerShell voor een volledig voorbeeld.

Python-SDK

Zie quickstart: Een data factory en pijplijn maken met behulp van Python voor een volledig voorbeeld

REST-API

In de volgende voorbeeldopdracht ziet u hoe u uw pijplijn handmatig uitvoert met behulp van de REST API:

POST
https://management.azure.com/subscriptions/mySubId/resourceGroups/myResourceGroup/providers/Microsoft.DataFactory/factories/myDataFactory/pipelines/copyPipeline/createRun?api-version=2017-03-01-preview

Zie Quickstart: Een data factory maken met behulp van de REST API voor een volledig voorbeeld.

Triggertypen

Triggers zijn een andere manier om een pijplijnuitvoering te starten. Triggers zijn verwerkingseenheden die bepalen wanneer een pijplijnuitvoering moet worden gestart. Momenteel ondersteunt de service drie typen triggers:

  • Schematrigger: een trigger die een pijplijn activeert volgens een vast tijdschema.

  • Tumbling window-trigger: een trigger die volgens een periodiek interval werkt terwijl de toestand behouden blijft.

  • Trigger op basis van gebeurtenissen: een trigger die reageert op een gebeurtenis.

Pijplijnen en triggers hebben een veel-op-veel relatie (behalve voor de tumbling venster trigger). Meerdere triggers kunnen één pijplijn starten en één trigger kan meerdere pijplijnen starten. In de volgende triggerdefinitie verwijst de eigenschap pijplijnen naar een lijst met pijplijnen die worden geactiveerd door de specifieke trigger. In de definitie van de eigenschap zijn waarden opgenomen voor de pijplijnparameters.

Basisdefinitie voor trigger

{
    "properties": {
        "name": "MyTrigger",
        "type": "<type of trigger>",
        "typeProperties": {...},
        "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>"
                }
            }
        ]
    }
}

Schema-trigger

Schematriggers voeren pijplijnen uit volgens een wandklokschema. De trigger ondersteunt periodieke en geavanceerde kalenderopties. De trigger ondersteunt bijvoorbeeld intervallen zoals 'wekelijks' of 'maandag om 17:00 uur en donderdag om 19:00 uur'. De schematrigger is flexibel omdat het gegevenssetpatroon agnostisch is en de trigger geen onderscheid maakt tussen tijdreeks- en niet-tijdreeksgegevens.

Zie Een trigger maken waarmee een pijplijn volgens een planning wordt uitgevoerd voor meer informatie over schematriggers en voor voorbeelden.

De definitie van schema-trigger

Wanneer u een schematrigger maakt, geeft u het schema en een terugkeerpatroon op met behulp van een JSON-definitie.

Als u wilt dat de schematrigger een pijplijnuitvoering activeert, moet u een verwijzing naar de betreffende pijplijn opnemen in de definitie van de trigger. Pijplijnen en triggers hebben een veel-op-veel-relatie. Meerdere triggers kunnen één pijplijn activeren. Eén trigger kan meerdere pijplijnen activeren.

{
  "properties": {
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": <<Minute, Hour, Day, Week>>,
        "interval": <<int>>, // How often to fire
        "startTime": <<datetime>>,
        "endTime": <<datetime>>,
        "timeZone": "UTC",
        "schedule": { // Optional (advanced scheduling specifics)
          "hours": [<<0-24>>],
          "weekDays": [<<Monday-Sunday>>],
          "minutes": [<<0-60>>],
          "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 pijplijnelement . Als uw pijplijn geen parameters accepteert, moet u een lege JSON-definitie voor de parametereigenschap opnemen.

Schemaoverzicht

De volgende tabel biedt een globaal overzicht van de belangrijkste schema-elementen die betrekking hebben op herhaling en het plannen van een trigger.

JSON-eigenschap Beschrijving
begintijd Een datum/tijdwaarde. Voor basisplanningen is de waarde van de eigenschap startTime van toepassing op het eerste exemplaar. Voor complexe planningen start de trigger niet eerder dan de opgegeven startTime-waarde .
eindtijd 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.
tijdzone De tijdzone. Zie Een trigger maken waarmee een pijplijn volgens een schema wordt uitgevoerd voor een lijst met ondersteunde tijdzones.
terugkeerpatroon Een recurrence-object dat de terugkeerregels voor de trigger specificeert. Het terugkeerobject ondersteunt de elementen frequentie, interval, endTime, count en schedule . Wanneer een terugkeerobject is gedefinieerd, is het frequentie-element vereist. De overige elementen van het recurrence-object zijn optioneel.
frequentie De frequentie waarmee de trigger terugkeert. De ondersteunde waarden omvatten 'minuut', 'uur', 'dag', 'week' en 'maand'.
interval Een positief geheel getal dat het interval voor de frequentiewaarde aangeeft. De frequentiewaarde bepaalt hoe vaak de trigger wordt uitgevoerd. Als het interval bijvoorbeeld 3 is en de frequentie 'week' is, wordt de trigger om de drie weken herhaald.
rooster Het herhalingsschema voor de trigger. Een trigger met een opgegeven frequentiewaarde wijzigt het terugkeerpatroon op basis van een terugkeerschema. De schema-eigenschap bevat wijzigingen voor de recurrence die gebaseerd is op minuten, uren, weekdagen, maanddagen en weeknummers.

Notitie

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

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

Voorbeeld van schedule-trigger

{
  "properties": {
    "name": "MyTrigger",
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": "Hour",
        "interval": 1,
        "startTime": "2017-11-01T09:00:00-08:00",
        "endTime": "2017-11-02T22:00:00-08:00"
      }
    },
    "pipelines": [{
        "pipelineReference": {
          "type": "PipelineReference",
          "referenceName": "SQLServerToBlobPipeline"
        },
        "parameters": {}
      },
      {
        "pipelineReference": {
          "type": "PipelineReference",
          "referenceName": "SQLServerToAzureSQLPipeline"
        },
        "parameters": {}
      }
    ]
  }
}

Schema-standaarden, limieten en voorbeelden

JSON-eigenschap Typologie Vereist Standaardwaarde Geldige waarden Voorbeeld
begintijd karakterreeks Ja Geen Datums en tijden volgens ISO 8601 "startTime" : "2013-01-09T09:30:00-08:00"
terugkeerpatroon voorwerp Ja Geen Een herhalingsobject "recurrence" : { "frequency" : "monthly", "interval" : 1 }
interval Nummer Nee 1 1 tot 1000 "interval":10
eindtijd karakterreeks Ja Geen Een datum/tijdwaarde die een toekomstig tijdstip aangeeft "endTime" : "2013-02-09T09:30:00-08:00"
rooster voorwerp Nee Geen Een schema-object "schedule" : { "minute" : [30], "hour" : [8,17] }

Eigenschap startTime

In de volgende tabel ziet u hoe met de eigenschap startTime een triggeruitvoering wordt beheerd:

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

Voert volgende uitvoeringen uit, berekend vanaf het tijdstip van de laatste uitvoering.

Zie het voorbeeld onder deze tabel.
De trigger start niet eerder dan de opgegeven begintijd. De eerste uitvoering is gebaseerd op de planning die wordt berekend op basis van de starttijd.

De daaropvolgende uitvoeringen worden uitgevoerd op basis van het herhalingsschema.
Begintijd is in de toekomst of de huidige tijd Voert eenmaal uit op de opgegeven starttijd.

Voert volgende uitvoeringen uit, berekend vanaf het tijdstip van de laatste uitvoering.
De trigger start niet eerder dan de opgegeven begintijd. De eerste uitvoering is gebaseerd op de planning die wordt berekend op basis van de starttijd.

De daaropvolgende uitvoeringen worden uitgevoerd op basis van het herhalingsschema.

Laten we eens kijken naar een voorbeeld van wat er gebeurt wanneer de starttijd in het verleden ligt en er een herhaling, maar geen schema is opgegeven. Neem aan dat de huidige tijd 2017-04-08 13:00 is, de starttijd 2017-04-07 14:00 en het terugkeerpatroon elke twee dagen. (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.

In deze omstandigheden vindt de eerste uitvoering plaats op 2017-04-09 at 14:00. De planner berekent uitvoeringen vanaf de starttijd. Alle gevallen in het verleden worden genegeerd. De engine gebruikt de eerstvolgende instantie die in de toekomst voorkomt. In dit scenario is de starttijd 2017-04-07 om 14:00 uur. De volgende uitvoering is twee dagen daarna op 2017-04-09 om 14:00 uur.

De eerste uitvoeringstijd is hetzelfde, zelfs of startTime 2017-04-05 14:00 of 2017-04-01 14:00 is. Na de eerste uitvoering worden volgende uitvoeringen berekend met behulp van het schema. Daarom vinden de volgende uitvoeringen plaats op 2017-04-11 om 14:00 uur, op 2017-04-13 om 14:00 uur en op 2017-04-15 om 14:00 uur enzovoort.

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

Eigenschap schedule

U kunt planning gebruiken om het aantal triggeruitvoeringen te beperken . Als een trigger met een frequentie van 'maand' bijvoorbeeld is gepland om alleen op dag 31 te worden uitgevoerd, wordt de trigger alleen geactiveerd in de maanden die een 31e dag hebben.

U kunt ook planning gebruiken om het aantal triggeruitvoeringen uit te breiden . 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 planningselementen zijn opgegeven, is de evaluatievolgorde van de grootste tot de kleinste planningsinstelling: weeknummer, maanddag, weekdag, uur, minuut.

In de volgende tabel worden de planningselementen gedetailleerd beschreven:

JSON-element Beschrijving Geldige waarden
minuten Minuten van het specifieke uur waarop de trigger wordt uitgevoerd. - Geheel getal
- Matrix van gehele getallen
uren Uren van de dag waarop de trigger afgaat. - Geheel getal
- Matrix van gehele getallen
Weekdagen 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 met dagwaarden (maximale grootte van de matrix is 7)

Dagwaarden zijn niet hoofdlettergevoelig
maandelijksVoorvallen Dagen van de maand waarop de trigger uitgevoerd wordt. De waarde kan alleen worden opgegeven met een maandfrequentie. - Matrix van monthlyOccurrence-objecten : { "day": day, "occurrence": occurrence }
- Het dagkenmerk is de dag van de week waarop de trigger wordt uitgevoerd. Bijvoorbeeld, een monthlyOccurrences eigenschap met een dagwaarde van {Sunday} betekent elke zondag van de maand. Het dagkenmerk is vereist.
- Het voorkomen kenmerk is het voorkomen van de opgegeven dag gedurende de maand. Bijvoorbeeld: een eigenschap maandelijkseVoorkomsten met dag en voorkomstwaarden van {Sunday, -1} betekent de laatste zondag van de maand. Het kenmerk voorkomen is optioneel.
maandDagen 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

Tumbling-venstertrigger

Tumblingvenstertriggers zijn triggers die vanaf een opgegeven begintijd met een periodiek tijdsinterval worden afgevuurd, waarbij de status behouden blijft. Tumbling-vensters zijn een reeks vaste, niet-overlappende en aaneengesloten tijdsintervallen.

Voor meer informatie over tumblingvenstertriggers en voor voorbeelden, zie Een tumblingvenstertrigger maken.

Voorbeelden van herhalingsschema's voor triggers

Dit gedeelte bevat voorbeelden van schema's met terugkeerpatronen. Het richt zich op het planningsobject en de bijbehorende elementen.

In de voorbeelden wordt ervan uitgegaan dat de intervalwaarde 1 is en dat de frequentiewaarde juist is volgens de planningsdefinitie. U kunt bijvoorbeeld geen frequentiewaarde van "dag" hebben en ook een maanddagen wijzigen in het planningsobject. Dit soort beperkingen wordt beschreven in de tabel in het vorige gedeelte.

Voorbeeld Beschrijving
{"hours":[5]} Wordt elke dag om 5:00 uur uitgevoerd.
{"minutes":[15], "hours":[5]} Wordt elke dag om 5:15 uur uitgevoerd.
{"minutes":[15], "hours":[5,17]} Wordt elke dag om 05:15 en 17:15 uur uitgevoerd.
{"minutes":[15,45], "hours":[5,17]} Wordt elke dag om 05:15 uur 's ochtends, 05:45 uur 's ochtends, 17:15 uur 's avonds en 17:45 uur 's avonds 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 frequentiewaarde van 'uur', een intervalwaarde van 1 en geen schema. Dit schema kan worden gebruikt met verschillende frequentie - en intervalwaarden om andere triggers te maken. Wanneer de frequentiewaarde bijvoorbeeld 'maand' is, wordt het schema slechts één keer per maand uitgevoerd in plaats van elke dag wanneer de frequentiewaarde 'dag' is.
{"minutes":[0]} Wordt elk uur precies op het hele uur uitgevoerd.

Deze trigger wordt elk uur op het hele uur uitgevoerd, te beginnen om 00:00 uur, 01:00 uur, 02:00 uur enzovoort.

Dit schema is gelijkwaardig aan een trigger met een frequentie waarde van 'uur' en een starttijd van nul minuten, zonder schema maar met een frequentie waarde van 'dag'. Als de frequentiewaarde 'week' of 'maand' is, wordt het schema respectievelijk op één dag per week of één dag per maand uitgevoerd.
{"minutes":[15]} Wordt 15 minuten na elk uur uitgevoerd.

Deze trigger wordt elk uur gestart om 15 minuten over het uur, te beginnen om 00:15 uur, 01:15 uur, 02:15 uur, enzovoort, en eindigt 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 om 6:00 uur uitgevoerd op de achtentwintigste dag van elke maand (uitgaande van een frequentiewaarde 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 uitgevoerd op de eerste en veertiende dag van elke maand op de opgegeven begintijd.
{"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.

Wanneer er geen vijfde vrijdag in een maand is, wordt de pijplijn niet gedraaid. Als u de trigger wilt uitvoeren op de laatste vrijdag van de maand, kunt u overwegen om -1 te gebruiken in plaats van 5 voor de gebeurteniswaarde .
{"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.

Trigger op basis van gebeurtenissen

Een gebeurtenisgestuurde trigger start pijplijnen als reactie op een gebeurtenis. Vanuit gedragsperspectief, als u een gebeurtenisgebonden trigger stopt en start, wordt het oude triggerpatroon hervat, wat kan leiden tot ongewenst activeren van de pijplijn. In dit geval moet u een nieuwe trigger op basis van gebeurtenissen verwijderen en maken. De nieuwe trigger wordt nieuw gestart zonder geschiedenis. Er zijn twee soorten triggers op basis van gebeurtenissen.

  • Met de trigger voor opslaggebeurtenissen wordt een pijplijn uitgevoerd op gebeurtenissen die plaatsvinden binnen een opslagaccount, zoals de aankomst van een bestand of het verwijderen van een bestand in een Azure Blob Storage-account.
  • De aangepaste gebeurtenistrigger verwerkt en behandelt aangepaste artikelen in Event Grid

Zie Opslaggebeurtenistrigger en Aangepaste gebeurtenistrigger voor meer informatie over triggers op basis van gebeurtenissen.

Vergelijking activeringstypen

De tumblingvenstertrigger en de schematrigger functioneren beide op tijdaanroepen. Hoe verschillen ze van elkaar?

Notitie

De tumbling-venstertriggeruitvoering wacht tot de geactiveerde pijplijnuitvoering is voltooid. De uitvoeringsstatus weerspiegelt de status van de geactiveerde pijplijn. Als een geactiveerde pijplijnuitvoering bijvoorbeeld wordt geannuleerd, wordt de uitvoering van de bijbehorende tumblingvenstertrigger als geannuleerd gemarkeerd. Dit verschilt van het gedrag 'fire and forget' van de schematrigger, die is gemarkeerd als geslaagd zolang een pijplijnrun is gestart.

In de volgende tabel wordt een vergelijking weergegeven tussen de tumblingvenstertrigger en de schematrigger:

Artikel Tumbling-venstertrigger Schema-trigger
Backfill-scenario's Ondersteund. Het is mogelijk pijplijnuitvoeringen in te plannen voor tijdvensters uit het verleden. Wordt niet ondersteund. Pijplijnuitvoeringen kunnen alleen worden uitgevoerd in perioden vanaf de huidige tijd en in de toekomst.
Betrouwbaarheid 100% betrouwbaarheid. Pijplijnuitvoeringen kunnen vanaf een aangegeven begindatum zonder onderbrekingen worden gepland voor alle tijdvensters. Minder betrouwbaar.
Mogelijkheid voor opnieuw proberen Ondersteund. Mislukte pijplijnuitvoeringen hebben een standaard aantal pogingen van 0, of een aantal dat door de gebruiker wordt opgegeven in de triggerdefinitie. Er worden automatisch nieuwe pogingen uitgevoerd wanneer de pijplijn mislukt vanwege gelijktijdigheids-/server-/beperkingslimieten (dat wil gezegd: statuscodes 400: Gebruikersfout, 429: Te veel aanvragen en 500: Interne serverfout). Wordt niet ondersteund.
concurrentie Ondersteund. Gebruikers kunnen expliciet gelijktijdigheidsbeperkingen voor de trigger instellen. Het is mogelijk om gelijktijdig tussen de 1 en 50 pipelineloopacties te activeren door triggers. Wordt niet ondersteund.
Systeemvariabelen @trigger().scheduledTime @trigger().startTimeDaarnaast ondersteunt het ook het gebruik van de systeemvariabelen WindowStart en WindowEnd. Gebruikers kunnen trigger().outputs.windowStartTime en trigger().outputs.windowEndTime als systeemvariabelen in de triggerdefinitie gebruiken. De waarden worden respectievelijk als de begin- en eindtijd van het tijdvenster gebruikt. Bijvoorbeeld voor een tumbling venstertrigger die elk uur loopt van 1:00 uur tot 2:00 uur, is de definitie trigger().outputs.windowStartTime = 2017-09-01T01:00:00Z en trigger().outputs.windowEndTime = 2017-09-01T02:00:00Z. Ondersteunt alleen standaard @trigger().scheduledTime - en @trigger().startTime variabelen.
Pijplijn-triggerrelatie Ondersteunt een een-op-een-relatie. Slechts één pijplijn kan worden geactiveerd. Ondersteunt veel-op-veel-relaties. Meerdere triggers kunnen één pijplijn activeren. Eén trigger kan meerdere pijplijnen activeren.

Zie de volgende tutorials: