Körning av pipeline och utlösare i Azure Data Factory eller Azure Synapse Analytics

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Tips

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

En pipelinekörning i Azure Data Factory och Azure Synapse definierar en instans av en pipelinekörning. Anta till exempel att du har en pipeline som körs kl. 8.00, 9.00 och 10.00. I det här fallet finns det tre separata körningar av pipelinen eller pipelinekörningarna. Varje pipelinekörning har ett unikt pipelinekörnings-ID. Ett körnings-ID är en GUID som unikt identifierar just den specifika pipelinekörningen.

Pipelinekörningar instansieras normalt genom att skicka argument till parametrar som du definierar i pipelinen. Du kan köra en pipeline antingen manuellt eller via en utlösare. Den här artikeln ger detaljer om båda sätt att köra en pipeline.

Skapa utlösare med användargränssnittet

Om du vill utlösa en pipeline manuellt eller konfigurera en ny schemalagd, rullande fönster, lagringshändelse eller anpassad händelseutlösare väljer du Lägg till utlösare överst i pipelineredigeraren.

Visar hur du lägger till en ny utlösare med användargränssnittet från pipelineredigeraren.

Om du väljer att utlösa pipelinen manuellt körs den omedelbart. Om du väljer Ny/Redigera uppmanas du annars att använda fönstret Lägg till utlösare för att antingen välja en befintlig utlösare att redigera eller skapa en ny utlösare.

Visar fönstret Lägg till utlösare som visar var du skapar en ny utlösare.

Du ser utlösarkonfigurationsfönstret så att du kan välja utlösartyp.

Visar det nya utlösarkonfigurationsfönstret med listrutan typ som visar de olika typer av utlösare som du kan skapa.

Läs mer om schemalagda utlösare, rullande fönster, lagringshändelse och anpassade händelseutlösare nedan.

Manuell körning

Manuell körning av en pipeline kallas även för körning på begäran.

Anta till exempel att du har en grundläggande pipeline som heter copyPipeline, som du vill köra. Pipelinen har en enda aktivitet som kopierar från en källmapp i Azure Blob Storage till en målmapp i samma lagringsutrymme. Följande JSON-definition visar det här pipelineexemplet:

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

Pipelinen har två parametrar i JSON-definitionen: sourceBlobContainer och sinkBlobContainer. Du anger värden till dessa parametrar vid körning.

Manuell körning med andra API:er/SDK:er

Du kan köra din pipeline manuellt med hjälp av en av följande metoder:

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

.NET SDK

Följande exempelanrop visar hur du kör din pipeline med hjälp av .NET SDK manuellt:

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

Ett mer komplett exempel finns i Snabbstart: skapa en datafabrik med hjälp av .NET SDK.

Anmärkning

Du kan använda .NET SDK för att anropa pipelines från Azure Functions, från dina webbtjänster och så vidare.

Azure PowerShell

Anmärkning

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Kommandot i följande exempel visar hur du kör din pipeline manuellt med hjälp av Azure PowerShell:

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

Du skickar parametrar i textdelen av begärandens nyttolast. I .NET SDK, Azure PowerShell och Python SDK kan du skicka värden i en ordlista som skickas som ett argument i anropet:

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

Svarsdatalasten är ett unikt ID för pipeline-körningen.

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

Ett mer komplett exempel finns i Snabbstart: skapa en datafabrik med hjälp av Azure PowerShell.

Python SDK

Ett fullständigt exempel finns i Snabbstart: Skapa en datafabrik och pipeline med Python

REST-API

Följande exempelkommando visar hur du kör din pipeline med hjälp av REST API manuellt:

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

Ett mer komplett exempel finns i Snabbstart: skapa en datafabrik med hjälp av REST API.

Utlösartyper

Utlösare är ett annat sätt att köra en pipeline. Utlösare representerar en bearbetningsenhet som avgör när en exekvering av pipeline måste påbörjas. För närvarande stöder tjänsten tre typer av utlösare:

  • Schemautlösare: en utlösare som anropar en pipeline enligt ett tidsschema.

  • Utlösare för rullande fönster: en utlösare som körs med ett regelbundet intervall och samtidigt bibehåller ett tillstånd.

  • Händelsebaserad utlösare: en utlösare som svarar på en händelse.

Pipelines och utlösare har en många-till-många-relation (förutom utlösaren för rullande fönster). Flera utlösare kan starta en enda pipeline, och en enda utlösare kan starta flera pipeliner. I följande utlösardefinition refererar pipelines-egenskapen till en lista med pipeliner som utlöses av den aktuella utlösaren. Egenskapsdefinition innehåller värden för pipelineparametrarna.

Grundläggande utlösardefinition

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

Schemautlösare

En schemautlösare kör pipeliner enligt ett väggklocksschema. Den här utlösaren har stöd för periodiska och avancerade kalenderalternativ. Utlösaren stöder till exempel intervall som "varje vecka" eller "Måndag kl. 17:00 och torsdag kl. 21:00". Schemautlösaren är flexibel eftersom datamängdsmönstret är agnostiskt och utlösaren inte kan skilja mellan tidsserie- och icke-tidsseriedata.

Mer information om schemautlösare och till exempel finns i Skapa en utlösare som kör en pipeline enligt ett schema.

Definition av schemahändelseutlösare

När du skapar en schemautlösare anger du schemaläggning och upprepning med en JSON-definition.

Om du vill att schemautlösaren ska starta en pipelinekörning tar du med en pipelinereferens till den aktuella pipelinen i utlösardefinitionen. Pipeliner och utlösare har en många-till-många-relation. Flera utlösare kan starta en enda pipeline. En enskild utlösare kan starta flera pipeliner.

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

Viktigt!

Egenskapen parameters är en obligatorisk egenskap i elementet pipelines. Om din pipeline inte tar emot några parametrar måste du inkludera en tom JSON-definition för egenskapen parameters.

Schemaöversikt

I följande tabell ges en översikt över de viktigaste schemaelementen relaterade till upprepning och schemaläggning i en utlösare:

JSON-egenskap beskrivning
starttid Ett datum/tid-värde. För grundläggande scheman gäller värdet för egenskapen startTime den första förekomsten. För komplexa scheman startar utlösaren tidigast vid det angivna värdet för startTime.
sluttid Slutdatum och tidpunkt för utlösaren. Utlösaren körs inte efter det angivna slutdatumet och sluttiden. Värdet för egenskapen får inte vara i det förflutna.
tidszon Tidszonen. En lista över tidszoner som stöds finns i Skapa en utlösare som kör en pipeline enligt ett schema.
återkomst Ett upprepningsobjekt som anger upprepningsregler för utlösaren. Upprepningsobjektet har stöd för elementen frequency (frekvens), interval (intervall), endTime (sluttid), count (antal) och schedule (schema). När du definierar ett upprepningsobjekt är elementet frequency obligatoriskt. De andra elementen i återkommande objektet är valfria.
frekvens Frekvensen vid vilken utlösaren återkommer. De stödda värdena inkluderar ”minute”, ”hour”, ”day”, ”week” och ”month”.
intervall Ett positivt heltal som anger intervallet för värdet för frequency. Värdet frequency bestämmer hur ofta utlösaren ska köras. Om interval till exempel är 3 och frequency är ”week” (vecka) upprepas utlösaren var tredje vecka.
schema Upprepningsschemat för utlösaren. En utlösare med ett angivet värde för frequency ändrar sin upprepning baserat på ett upprepningsschema. Egenskapen schedule innehåller ändringar för upprepningen som baseras på minuter, timmar, veckodagar, dagar i månaden och veckonummer.

Anmärkning

För tidszoner som följer sommartid justeras triggnings-tiden automatiskt för den två gånger om året förändringen, om återkommande är inställt på Dagar eller mer. För att välja bort ändringarna för sommartid, välj en tidszon som inte använder sommartid, till exempel UTC.

Sommartidsjustering sker endast för en utlösare vars upprepning är inställd på Dagar eller högre. Om utlösaren är inställd på Timmar eller Minuter frekvens fortsätter den att utlösas med regelbundna intervall.

Exempel på schemaläggning av utlösare

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

Standardvärden för scheman, begränsningar och exempel

JSON-egenskap Typ Obligatoriskt Standardvärde Giltiga värden Exempel
starttid sträng Ja Ingen ISO 8601 datum och tid "startTime" : "2013-01-09T09:30:00-08:00"
återkomst objekt Ja Ingen Ett upprepningsobjekt "recurrence" : { "frequency" : "monthly", "interval" : 1 }
intervall Nummer Nej 1 1 till 1000 "interval":10
sluttid sträng Ja Ingen Ett datum/tid-värde som representerar en tidpunkt i framtiden "endTime" : "2013-02-09T09:30:00-08:00"
schema objekt Nej Ingen Ett schemaobjekt "schedule" : { "minute" : [30], "hour" : [8,17] }

Egenskapen "startTime"

I följande tabell visas hur egenskapen startTime styr körningen av en triggerkörning:

startTime-värde Upprepning utan schema Återkommande enligt schema
Starttiden har redan passerat Beräknar den första framtida exekveringstiden efter starttidpunkten och körs vid den tiden.

Kör framtida körningar baserat på tidpunkten för senaste körning.

Se exemplet som följer den här tabellen.
Utlösaren startar inte tidigare än den angivna starttiden. Den första förekomsten beräknas utifrån schemat, från starttiden.

Kör fortsatta körningar baserat på det återkommande schemat.
Starttiden är i framtiden eller aktuell tid Körs en gång på angiven starttid.

Kör framtida körningar baserat på tidpunkten för senaste körning.
Utlösaren startar inte tidigare än den angivna starttiden. Den första förekomsten beräknas utifrån schemat, från starttiden.

Kör fortsatta körningar baserat på det återkommande schemat.

Låt oss titta på ett exempel på vad som händer när starttiden är i det förflutna, med en återkommande händelse men utan att ett schema finns. Anta att den aktuella tiden är 2017-04-08 13:00, starttiden är 2017-04-07 14:00 och upprepningen är varannan dag. (Upprepningsvärdet definieras genom att frekvensegenskapen anges till "dag" och intervallegenskapen till 2.) Observera att startTime-värdet är tidigare och inträffar före den aktuella tiden.

Under dessa förhållanden sker den första körningen 2017-04-09 kl. 14:00. Schemaläggningsmotorn beräknar körningstillfällen från starttiden. Alla tidigare instanser ignoreras. Motorn använder nästa förekomst som förekommer i framtiden. I det här scenariot är starttiden 2017-04-07 kl. 02:00. Nästa tillfälle är två dagar från den tiden, vilket är 2017-04-09 kl. 14:00.

Den första körningstiden är densamma oavsett om startTime är 2017-04-05 14:00 eller 2017-04-01 14:00. Efter den första körningen beräknas efterföljande körningar med hjälp av schemat. Därför utförs efterföljande körningar 2017-04-11 kl. 14:00, och sedan 2017-04-13 kl. 14:00, och sedan 2017-04-15 kl. 14:00 och så vidare.

När timmar eller minuter inte anges i schemat för en utlösare används slutligen timmarna eller minuterna för den första körningen som standard.

schemaegenskapen

Du kan använda ett schema för att begränsa antalet genomföranden av triggers. Om en utlösare med månatlig frekvens till exempel har schemalagts att köras bara på dag 31, körs utlösaren endast de månader som har en trettioförsta dag.

Du kan också använda ett schema för att öka antalet utföranden av utlösare. En utlösare som har en månatlig frekvens och är schemalagd att köras den 1:a och 2:a dagen i månaden, körs dessa dagar i stället för en gång i månaden.

Om flera schemaelement anges är utvärderingsordningen från den största till den minsta schemainställningen: veckonummer, månad, veckodag, timme, minut.

I följande tabell beskrivs schedule-elementen i detalj:

JSON-element beskrivning Giltiga värden
minuter Antal minuter på den timme då utlösaren aktiveras. – Heltal
– Heltalsmatris
timmar Timmar på dagen då utlösaren körs. – Heltal
– Heltalsmatris
veckodagar Veckodagar då triggern körs. Värdet kan bara anges med en veckofrekvens.
– Måndag
– Tisdag
– Onsdag
– Torsdag
– Fredag
– Lördag
– Söndag
– Matris med dagvärden (maximal matrisstorlek är 7)

Dagvärden är inte skiftlägeskänsliga
monthlyOccurrences De dagar i månaden som utlösaren aktiveras. Värdet kan bara anges med en månadsfrekvens. – Matris med monthlyOccurrence-objekt : { "day": day, "occurrence": occurrence }
– Attributet day är veckodagen som utlösaren körs på. Om egenskapen monthlyOccurrences till exempel har day-värdet {Sunday} innebär det varje söndag i månaden. Attributet day är obligatoriskt.
– Attributet occurrence är förekomsten av den specifika dagen i månaden. Om egenskapen monthlyOccurrences till exempel har day- och occurrence-värdena {Sunday, -1} innebär det den sista söndagen i månaden. Attributet occurrence är valfritt.
månadDagar Dag i månaden när utlösaren körs. Värdet kan bara anges med en månadsfrekvens. - Valfritt värde <= -1 och >= -31
- Valfritt värde >= 1 och <= 31
– Matris med värden

Utlösare för tumlande fönster

Utlösare för rullande fönster är en typ av utlösare som går igång med jämna tidsintervall från en angiven starttid och behåller sitt tillstånd. Rullande fönster är en serie sammanhängande tidsintervall med fast storlek som inte överlappar.

Mer information om utlösare för rullande fönster och till exempel finns i Skapa en utlösare för rullande fönster.

Exempel på scheman för upprepning av utlösare

Det här avsnittet innehåller exempel på återkommande scheman. Det fokuserar på objektet schema och dess element.

Exemplen förutsätter att intervallvärdet är 1 och att frekvensvärdet är korrekt enligt schemadefinitionen. Du kan till exempel inte använda frequency-värdet ”day” och samtidigt ha en monthDays-modifiering i schedule-objektet. Dessa typer av begränsningar beskrivs i tabellen i föregående avsnitt.

Exempel beskrivning
{"hours":[5]} Spring kl. 05.00 varje dag.
{"minutes":[15], "hours":[5]} Spring kl. 05.15 varje dag.
{"minutes":[15], "hours":[5,17]} Spring kl. 05.15 på morgonen och kl. 17.15 på eftermiddagen varje dag.
{"minutes":[15,45], "hours":[5,17]} Spring kl. 05.15, 05.45, 17.15 och 17.45 varje dag.
{"minutes":[0,15,30,45]} Kör var 15:e minut.
{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]} Kör varje timme.

Den här utlösaren körs varje timme. Minuterna styrs av startTime-värdet när du anger ett sådant. Om du inte anger något värde styrs minuterna av tiden för skapandet. Till exempel, om starttiden eller skapandetiden (beroende på vilken som gäller) är 12:25, körs utlösaren 00:25, 01:25, 02:25, …, 23:25.

Schemat motsvarar att ha en utlösare med frequency-värdet ”hour” (timme), interval-värdet 1 och inget schema. Det här schemat kan användas med andra värden för frequency och interval om du vill skapa andra utlösare. När värdet för frequency till exempel är ”month” körs schemat bara en gång i månaden, snarare än varje dag när värdet för frequency är ”day”.
{"minutes":[0]} Körs varje hel timme.

Den här triggern körs varje timme på timman, med början vid 12:00 AM, 01:00 AM, 02:00 AM och så vidare.

Det här schemat motsvarar en utlösare med frequency-värdet ”hour” och startTime-värdet noll minuter, och inget schema men frequency-värdet ”day”. Om frequency-värdet är ”week” eller ”month” körs schemat en dag i veckan eller en dag i månaden.
{"minutes":[15]} Körs 15 minuter efter varje hel timme.

Den här utlösaren körs varje timme, kvart över, med början vid 00:15, 01:15, 02:15 och så vidare, och avslutas vid 23:15.
{"hours":[17], "weekDays":["saturday"]} Körs kl. 17.00 på eftermiddagen på lördagar varje vecka.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Körs 17.00 varje måndag, onsdag och fredag.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Körs måndagar, onsdagar och fredagar varje vecka, kl. 17.15 och 17.45.
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Körs var 15:e minut på vardagar.
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Körs var 15:e minut på vardagar mellan 09.00 och 16.45.
{"weekDays":["tuesday", "thursday"]} Spring på tisdagar och torsdagar vid den angivna starttiden.
{"minutes":[0], "hours":[6], "monthDays":[28]} Körs 06.00 den 28:e dagen varje månad (förutsatt att frequency-värdet är ”month”).
{"minutes":[0], "hours":[6], "monthDays":[-1]} Spring klockan 06.00 den sista dagen i månaden.

Om du vill köra en utlösare den sista dagen i månaden ska du använda -1 istället för dag 28, 29, 30 eller 31.
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} Kör vid 06:00 den första och sista dagen i varje månad.
{monthDays":[1,14]} Körs på den första och fjortonde dagen i varje månad på den angivna starttiden.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Körs den första fredagen i varje månad klockan 05.00 på morgonen.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Körs den första fredagen i varje månad vid den angivna starttiden.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Körs den tredje fredagen från slutet av månad, varje månad, vid den angivna starttiden.
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Körs den första och sista fredagen i varje månad 05.15.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Körs den första och sista fredagen i varje månad vid den angivna starttiden.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Körs den femte fredagen i varje månad vid den angivna starttiden.

Om det inte är någon femte fredag i månaden körs inte pipelinen. Om du vill köra utlösaren på den sista fredagen i månaden kan du använda -1 istället för 5 som värde för förekomst.
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} Körs var 15:e minut den sista fredagen i månaden.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Körs 05:15 på morgonen, 05:45 på morgonen, 17:15 på eftermiddagen och 17:45 på eftermiddagen den tredje onsdagen varje månad.

Händelsebaserad utlösare

En händelsebaserad utlösare kör pipelines som svar på en händelse. Om du stoppar och startar en händelsebaserad utlösare återupptas det gamla utlösarmönstret, vilket kan leda till oönskad aktivering av pipelinen. I det här fallet bör du ta bort och skapa en ny händelsebaserad utlösare. Den nya utlösaren startar på nytt utan historik. Det finns två varianter av händelsebaserade utlösare.

  • Händelseutlösare för lagring kör en pipeline mot händelser som inträffar i ett lagringskonto, som till exempel när en fil anländer eller radering av en fil i Azure Blob Storage-kontot.
  • Anpassade händelseutlösare bearbetar och hanterar anpassade artiklar i Event Grid

Mer information om händelsebaserade utlösare finns i Utlösare för lagringshändelse och Anpassad händelseutlösare.

Jämförelse av olika utlösare

Både utlösare för rullande fönster och schemautlösare drivs av tidsintervaller. Hur skiljer de sig åt?

Anmärkning

Tumbling window-utlösaren väntar på att den utlösta pipelinekörningen ska slutföras. Dess körstatus återspeglar tillståndet för det utlösta pipelineloppet. Om en utlöst pipelinekörning till exempel avbryts markeras motsvarande utlösarkörning för rullande fönster som avbruten. Detta skiljer sig från schematriggerns beteende, „fire and forget”, som markeras som framgångsrikt så länge en pipelinekörning har startat.

I följande tabell ges en jämförelse av utlösare för rullande fönster och schemautlösare:

Objekt Utlösare för tumlande fönster Schemautlösare
Återfyllnadsscenarier Stöds. Pipelinekörningar kan schemaläggas för tidsperioder i det förflutna. Stöds ej. Pipelinekörningar kan bara köras i tidsperioder från och med nu och framåt.
Tillförlitlighet 100 % tillförlitlighet. Pipelinekörningar kan schemaläggas för alla tidsintervaller från ett angivet startdatum utan luckor. Mindre tillförlitligt.
Återförsökskapacitet Stöds. Misslyckade pipelinekörningar har en standardåterförsökspolicy på 0, eller en policy som anges av användaren i definitionen av triggern. Försök automatiskt igen när pipelinekörningarna misslyckas på grund av samtidighets-/server-/begränsningsgränser (d.s.a. statuskoderna 400: Användarfel, 429: För många begäranden och 500: Internt serverfel). Stöds ej.
Parallellitet Stöds. Användare kan uttryckligen ange samtidighetsgränser för utlösaren. Tillåter mellan 1 och 50 utlösta pipelinekörningar samtidigt. Stöds ej.
Systemvariabler Tillsammans med @trigger().scheduledTime och @trigger().startTimestöder det även användning av systemvariablerna WindowStart och WindowEnd . Användare kan komma åt trigger().outputs.windowStartTime och trigger().outputs.windowEndTime som systemvariabler för utlösaren i definitionen av utlösaren. Värdena används som start- respektive sluttid för fönstret. Exempelvis, för en utlösare för rullande fönster som körs varje timme, är definitionen för tidsfönstret 01.00 till 02.00 trigger().outputs.windowStartTime = 2017-09-01T01:00:00Z och trigger().outputs.windowEndTime = 2017-09-01T02:00:00Z. Stöder endast standard @trigger().scheduledTime - och @trigger().startTime variabler.
Relation mellan pipeline och utlösare Har stöd för en 1:1-relation. Endast en pipeline kan aktiveras. Har stöd för många-till-många-relationer. Flera utlösare kan starta en enda pipeline. En enskild utlösare kan starta flera pipeliner.

Se följande handledningar: