Folyamatok végrehajtása és eseményindítók az Azure Data Factoryben vagy az Azure Synapse Analyticsben

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Az Azure Data Factoryben és az Azure Synapse-ban futtatott folyamatok a folyamatvégrehajtás egy példányát határozzák meg. For example, say you have a pipeline that executes at 8:00 AM, 9:00 AM, and 10:00 AM. In this case, there are three separate runs of the pipeline or pipeline runs. Each pipeline run has a unique pipeline run ID. A run ID is a GUID that uniquely defines that particular pipeline run.

Pipeline runs are typically instantiated by passing arguments to parameters that you define in the pipeline. A folyamatok manuálisan vagy egy eseményindító használatával hajthatók végre. A cikk részletesen ismerteti a folyamatok végrehajtásának mindkét módját.

Eseményindítók létrehozása felhasználói felülettel

Ha manuálisan szeretne aktiválni egy folyamatot, vagy konfigurálni szeretne egy új ütemezett, átfedésmentes ablakot, tárolási eseményt vagy egyéni eseményindítót, válassza az Eseményindító hozzáadása lehetőséget a folyamatszerkesztő tetején.

Shows how to add a new trigger with UI from the pipeline editor.

Ha úgy dönt, hogy manuálisan aktiválja a folyamatot, az azonnal végrehajtásra kerül. Ellenkező esetben, ha az Új/Szerkesztés lehetőséget választja, a rendszer az eseményindítók hozzáadása ablakkal kéri, hogy válasszon egy meglévő eseményindítót a szerkesztéshez, vagy hozzon létre egy új eseményindítót.

Shows the add triggers window highlighting where to create a new trigger.

Ekkor megjelenik az eseményindító konfigurációs ablaka, amely lehetővé teszi az eseményindító típusának kiválasztását.

Shows the new trigger configuration window with the type dropdown showing the various types of triggers you can create.

További információ az ütemezett, átfedésmentes ablakról, a tárolási eseményről és az egyéni eseményindítókról.

Manuális végrehajtás (igény szerint) A JSON használatával

The manual execution of a pipeline is also referred to as on-demand execution.

Tegyük fel például, hogy rendelkezik egy copyPipeline nevű alapszintű folyamattal, amelyet végre szeretne hajtani. A folyamat egyetlen tevékenységgel rendelkezik, amely egy Azure Blob Storage-ban lévő forrásmappából másol tartalmakat egy ugyanazon a tárterületen található célmappába. A következő JSON-definíció ezt a mintafolyamatot mutatja be:

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

A JSON-definícióban a folyamathoz két paraméter szükséges: sourceBlobContainer és sinkBlobContainer. Ezekhez a paraméterekhez futtatás közben adja meg az értékeket.

A következő módszerek egyikével manuálisan futtathatja a folyamatot:

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

REST API

Az alábbi mintaparancs bemutatja, hogyan futtathatja a folyamatot a REST API manuális használatával:

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

Teljes minta: Rövid útmutató: Adat-előállító létrehozása a REST API használatával.

Azure PowerShell

Megjegyzés:

We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

A következő mintaparancs bemutatja, hogyan futtathatja manuálisan a folyamatot az Azure PowerShell használatával:

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

A kérelem hasznos adatainak törzsébe adja át a paramétereket. A .NET SDK, az Azure PowerShell és a Python SDK esetében az értékeket a hívás argumentumaként átadott szótárba adja át:

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

A válasz hasznos adat a folyamatfuttatás egyedi azonosítója:

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

Teljes minta: Rövid útmutató: Adat-előállító létrehozása az Azure PowerShell használatával.

.NET SDK

Az alábbi mintahívás bemutatja, hogyan futtathatja a folyamatot a .NET SDK manuális használatával:

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

Teljes minta: Rövid útmutató: Adat-előállító létrehozása a .NET SDK használatával.

Megjegyzés:

A .NET SDK-val folyamatokat hívhat meg az Azure Functionsből, a webszolgáltatásokból stb.

Végrehajtás aktiválása JSON-nal

A folyamatok futtatása triggerek használatával is elvégezhető. Az eseményindítók olyan feldolgozási egységek, amelyek meghatározzák, hogy mikor kezdődjön egy folyamat végrehajtása. A szolgáltatás jelenleg három típusú eseményindítót támogat:

  • Ütemezési eseményindító: a folyamatokat időpont alapú ütemezés szerint meghívó eseményindító.

  • Átfedésmentes ablakos eseményindító: az állapot megőrzése mellett, rendszeres időközönként működő eseményindító.

  • Eseményalapú trigger: olyan trigger, amely egy eseményre válaszol.

A folyamatok és az eseményindítók (az ugróablak-alapú trigger kivételével) több-a-többhöz típusú kapcsolatban vannak. Multiple triggers can kick off a single pipeline, or a single trigger can kick off multiple pipelines. Az eseményindító alábbi definíciójában a folyamatok tulajdonság az adott eseményindító által aktivált folyamatok listájára vonatkozik. A tulajdonság meghatározása a folyamatparaméterek értékeit is tartalmazza.

Alap eseményindító meghatározása

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

Eseményindító ütemezése JSON-nal

Az ütemezési eseményindító egy időpontalapú ütemezés szerint futtatja a folyamatokat. Ez az eseményindító támogatja az időszakos és speciális naptárbeállításokat. Az eseményindító például olyan intervallumokat támogat, mint a "heti" vagy a "Hétfő 17:00-kor és Csütörtökön 21:00-kor". Az ütemezési eseményindító rugalmas, mert az adathalmaz mintázata agnosztikus, és az eseményindító nem érzékeli az idősorok és a nem idősoros adatok közötti különbséget.

További információ az ütemezési eseményindítókról, és például: Folyamatokat ütemezés szerint futtató eseményindító létrehozása.

Ütemezési eseményindító meghatározása

Amikor létrehoz egy ütemezési eseményindítót, a JSON-definíció segítségével megadhatja az ütemezést és az ismétlődést.

Ahhoz, hogy az ütemező eseményindító kiváltsa egy folyamat indítását, az eseményindító meghatározásába foglalja bele az adott folyamat referenciáját. A folyamatok és az eseményindítók között több-a-többhöz kapcsolat áll fenn. Egyetlen folyamatot több eseményindító is indíthat. Egyetlen eseményindító elindíthat több folyamatot is.

{
  "properties": {
    "type": "ScheduleTrigger",
    "typeProperties": {
      "recurrence": {
        "frequency": <<Minute, Hour, Day, Week, Year>>,
        "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>"
      }
    }
  ]}
}

Fontos

A paraméterek tulajdonság a folyamatok elem kötelező tulajdonsága. Ha a folyamat nem használ paramétert, akkor is vegyen fel egy üres JSON-definíciót a paraméterek tulajdonságba.

Séma áttekintése

Az alábbi táblázat nagy vonalakban áttekintést nyújt az eseményindítóval kapcsolatos ismétlődés és ütemezés fő sémaelemeiről:

JSON-tulajdonság Leírás
startTime Dátum-idő érték. Alapszintű ütemezések esetében a startTime tulajdonság értéke az első előfordulásra vonatkozik. Összetett ütemezéseknél az eseményindító nem indul korábban a megadott startTime értéknél.
endTime Az eseményindító záró dátuma és időpontja. Az eseményindító nem lesz végrehajtva a megadott záró dátum és idő után. A tulajdonság értéke nem lehet múltbéli időpont.
timeZone Az időzóna. A támogatott időzónák listáját a folyamatokat ütemezés szerint futtató eseményindító létrehozása című témakörben találja.
recurrence Az eseményindítóhoz tartozó ismétlődési szabályokat megadó recurrence objektum. A recurrence objektum a frequency, interval, endTime, count és schedule elemeket támogatja. Recurrence objektum meghatározásakor a frequency elem megadása kötelező. A recurrence objektum többi elemének megadása nem kötelező.
frequency Az eseményindító ismétlődésének gyakorisági egysége. A támogatott értékek például: minute, hour, day, week és month (percenként, óránként, naponta, hetente és havonta).
interval Pozitív egész szám, amely a frequency érték időközét jelöli. A frequency érték határozza meg a trigger futtatási gyakoriságát. Ha például az interval értéke 3, a frequency értéke pedig week, az eseményindító három hetente ismétlődik.
schedule Az eseményindító ismétlődési ütemezése. Egy megadott frequency értékkel rendelkező eseményindító az ismétlődést az ismétlődési ütemezés alapján módosítja. A schedule tulajdonságban az ismétlődéshez tartozó módosítások szerepelnek, amelyek alapjául a percek, órák, a hét napja, a hónap napjai és a hét száma szolgál.

Példa ütemezési eseményindítóra

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

Séma alapértékei, korlátai és példái

JSON-tulajdonság Típus Kötelező Default value Érvényes értékek Példa
startTime sztring Igen None ISO 8601 dátum-idő értékek "startTime" : "2013-01-09T09:30:00-08:00"
recurrence object Igen None Recurrence objektum "recurrence" : { "frequency" : "monthly", "interval" : 1 }
interval number Nem 1 1–1000 "interval":10
endTime sztring Igen None Egy jövőbeli időpontot jelölő dátum-idő érték "endTime" : "2013-02-09T09:30:00-08:00"
schedule object Nem None Schedule objektum "schedule" : { "minute" : [30], "hour" : [8,17] }

startTime tulajdonság

Az alábbi táblázatban látható, hogy a startTime tulajdonság hogyan irányítja a folyamatfuttatást:

startTime értéke Ismétlődés ütemezés nélkül Ismétlődés ütemezéssel
A kezdés időpontja a múltban van Kiszámítja a kezdő időpont utáni első jövőbeli végrehajtási időpontot, és abban az időpontban fut.

A további végrehajtásokat mindig az utolsó végrehajtási időpont alapján számítja ki.

Lásd a táblázat alatti példát.
Az eseményindító nem indulhat hamarabb a megadott kezdési időpontnál. Az első előfordulás a kezdő időpontból kiszámított ütemezésen alapul.

Az azt követő végrehajtásokat az ismétlődési ütemezés alapján futtatja.
A kezdő időpont jövőbeli, illetve az aktuális időpont Egyszer fut a megadott kezdési időpontban.

A további végrehajtásokat mindig az utolsó végrehajtási időpont alapján számítja ki.
Az eseményindító nem indulhat hamarabb a megadott kezdési időpontnál. Az első előfordulás a kezdő időpontból kiszámított ütemezésen alapul.

Az azt követő végrehajtásokat az ismétlődési ütemezés alapján futtatja.

Tekintsünk meg egy példát arról, hogy mi történik, ha a kezdő időpont egy múltbeli időpont, ismétlődéssel, de ütemezés nélkül. Tegyük fel, hogy az aktuális időpont 2017-04-08 13:00, a kezdési idő 2017-04-07 14:00, és a művelet kétnaponta ismétlődik. (Az ismétlődési érték úgy van definiálva, hogy a gyakoriság tulajdonságot "nap" értékre, az intervallum tulajdonságot pedig 2 értékre állítja.) Figyelje meg, hogy a startTime érték a múltban van, és az aktuális időpont előtt fordul elő.

Ezen feltételek mellett az első végrehajtási időpont 2017-04-09 14:00. Az ütemezőmotor a kezdési időpont alapján kiszámítja a végrehajtási alkalmakat. A múltbéli időpontokat a rendszer elveti. A motor az első jövőbeli alkalmat használja. Tehát ebben a forgatókönyvben a kezdő időpont 2017-04-07 14:00. A következő alkalom két napra esik ettől, azaz 2017-04-09 14:00.

Az első végrehajtási időpont akkor is ez, ha a startTime értéke 2017-04-05 14:00 vagy 2017-04-01 14:00. Az első végrehajtás után a rendszer a következő végrehajtási időpontokat az ütemezés alapján számítja ki. Ezért a további végrehajtások a következő időpontokban történnek: 2017-04-11 14:00, 2017-04-13 14:00, majd 2017-04-15 14:00 és így tovább.

Végül, ha az órák vagy percek nincsenek beállítva egy eseményindító ütemezésében, az első végrehajtás órái vagy percei lesznek alapértelmezettként használva.

schedule tulajdonság

A schedule tulajdonsággal korlátozhatja a trigger végrehajtásainak számát. Ha például egy havi gyakoriságú trigger csak a 31. napon való futásra van ütemezve, akkor a trigger csak a harmincegy napos hónapokban fut.

A schedule tulajdonsággal növelheti is a trigger végrehajtásainak számát. Ha például egy havi gyakoriságú eseményindító a hónap 1. és 2. napján való futásra van ütemezve, akkor a trigger minden elsején és másodikán is fut, nem csak egyszer egy hónapban.

Ha több ütemezési elem van megadva, a kiértékelési sorrend a legnagyobbtól a legkisebb ütemezési beállításig tart: hét száma, hónap napja, hétköznap, óra, perc.

A következő táblázat részletesen ismerteti a schedule elemeit:

JSON-elem Leírás Érvényes értékek
minutes Az óra azon perce, amikor az eseményindító fut. – Egész szám
– Egész számok tömbje
hours A nap azon órái, amikor az eseményindító fut. – Egész szám
– Egész számok tömbje
weekDays A hét azon napjai, amelyeken az eseményindító fut. Az érték csak heti gyakorisággal adható meg.
– Hétfő
– Kedd
– Szerda
– Csütörtök
– Péntek
– Szombat
– Vasárnap
– Nap értékek tömbje (a tömb maximális mérete 7)

A napi értékek nem megkülönböztetik a kis- és nagybetűket
monthlyOccurrences A hónap azon napjai, amelyeken az eseményindító fut. Az érték csak havi gyakorisággal adható meg. - A monthlyOccurrence objektumok tömbje:{ "day": day, "occurrence": occurrence }
– A day attribútum a hét azon napja, amelyen a trigger fut. Például a {Sunday} értékű day attribútummal rendelkező monthlyOccurrences tulajdonság a hónap minden vasárnapját jelenti. A day attribútum megadása kötelező.
– Az occurrence attribútum a megadott day attribútum előfordulása a hónapban. Például a {Sunday, -1} értékű day és occurrence attribútumokkal rendelkező monthlyOccurrences tulajdonság a hónap utolsó vasárnapját jelenti. Az occurrence attribútum megadása nem kötelező.
monthDays A hónap azon napja, amelyen az eseményindító lefut. Az érték csak havi gyakorisággal adható meg. - Bármely érték <= -1 és >= -31
- Bármely érték >= 1 és <= 31
– Értékek tömbje

Tumbling window trigger

Az átfedésmentes ablakos eseményindítók olyan eseményindítók, amelyek rendszeres időközönként aktiválódnak a megadott kezdési időponttól kezdve, az állapot megőrzése mellett. Az átfedésmentes ablakok rögzített méretű, egymást nem fedő és összefüggő időintervallumok.

További információ a átfedésmentes ablak eseményindítóiról, és például: Átfedésmentes ablak eseményindítójának létrehozása.

Triggerismétlődési ütemezések példái

Ez a szakasz az ismétlődésütemezésekre mutat be példákat. A schedule objektumra és annak elemeire koncentrál.

A példák feltételezik, hogy az intervallum értéke 1, a gyakoriság értéke pedig az ütemezés definíciója szerint helyes. Nem lehet például a frequency értéke day, ha a schedule objektum monthDays értékre lett módosítva. Ezen korlátozások leírása az előző szakaszban található táblázatban szerepel.

Példa Leírás
{"hours":[5]} Minden nap 05:00-kor fut le.
{"minutes":[15], "hours":[5]} Minden nap 05:15-kor fut le.
{"minutes":[15], "hours":[5,17]} Minden nap 05:15-kor és 17:15-kor fut le.
{"minutes":[15,45], "hours":[5,17]} Minden nap 05:15-kor, 05:45-kor, 17:15-kor és 17:45-kor fut le.
{"minutes":[0,15,30,45]} 15 percenként fut le.
{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]} Óránként fut le.

Ez az eseményindító óránként fut le. A perceket a startTime értéke szabályozza, ha az érték meg van adva. Ha az érték nincs megadva, akkor a perceket a létrehozás ideje szabályozza. Ha például a kezdés időpontja vagy a létrehozás időpontja (amelyik alkalmazható) 12:25, akkor az eseményindító 00:25-kor, 01:25-kor, 02:25-kor stb. fut le, végül pedig 23:25-kor.

Ez az ütemezés egyenértékű azzal, mintha egy hour értékű frequency attribútummal rendelkező eseményindító lenne, 1 interval értékkel, schedule nélkül. Ez az ütemezés különböző frequency és interval értékekkel használható egyéb eseményindítók létrehozásához. Ha például a frequency értéke month, az ütemezés egy hónapban csak egyszer fut, nem pedig minden nap, amikor a frequency értéke day.
{"minutes":[0]} Minden óra kezdetén fut le.

Ez az eseményindító minden óra kezdetén fut le, 00:00-kor, 01:00-kor, 02:00-kor és így tovább.

Ez az ütemezés megegyezik egy olyan eseményindítóval, amely hour frequency értékkel és nulla perc startTime értékkel rendelkezik, és nincs schedule érték, de a frequency értéke day. Ha a frequency értéke week vagy month, az ütemezés csak egy héten egyszer vagy egy hónapban egyszer fut le.
{"minutes":[15]} Minden óra 15. percében fut le.

Ez az eseményindító minden óra 15. percében fut le, 00:15-kor, 01:15-kor, 02:15-kor és így tovább, egészen 23:15-ig.
{"hours":[17], "weekDays":["saturday"]} Minden héten szombaton, 17:00-kor fut le.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Minden héten hétfőn, szerdán és pénteken, 17:00-kor fut le.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Minden héten hétfőn, szerdán és pénteken, 17:15-kor és 17:45-kor fut le.
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Hétköznapokon 15 percenként fut le.
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Hétköznapokon 15 percenként fut le 09:00 és 16:45 között.
{"weekDays":["tuesday", "thursday"]} Keddenként és csütörtökönként, a megadott kezdési időpontban fut le.
{"minutes":[0], "hours":[6], "monthDays":[28]} Minden hónap huszonnyolcadik napján, 06:00-kor fut (azt feltételezi, hogy a frequency month értékre van állítva).
{"minutes":[0], "hours":[6], "monthDays":[-1]} Minden hónap utolsó napján, 06:00-kor fut le.

Ha az adott eseményindítót a hónap utolsó napján kívánja futtatni, a 28., 29., 30. vagy 31. nap megadása helyett használjon -1-et.
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} Minden hónap első és utolsó napján, 06:00-kor fut le.
{monthDays":[1,14]} Minden hónap első és tizennegyedik. napján, a megadott kezdési időpontban fut.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Minden hónap első péntekjén, 05:00-kor fut le.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Minden hónap első péntekjén, a megadott kezdési időpontban fut le.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} A hónap végétől számított harmadik pénteken, minden hónapban, a megadott kezdési időpontban fut le.
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Minden hónap első és utolsó péntekjén, 05:15-kor fut le.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Minden hónap első és utolsó péntekjén, a megadott kezdési időpontban fut le.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Minden hónap ötödik péntekjén, a megadott kezdési időpontban fut le.

Ha az adott hónapban nincs ötödik péntek, a folyamat nem fut le. Az eseményindító a hónap utolsó péntekjén való futtatásához az occurrence értékénél használjon -1-et 5 helyett.
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} Minden hónap utolsó péntekjén, 15 percenként fut le.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Minden hónap harmadik szerdáján, 05:15-kor, 05:45-kor, 17:15-kor és 17:45-kor fut le.

Triggertípusok összehasonlítása

Az átfedésmentes ablakos eseményindító és az ütemezési eseményindító is időszívverés alapján működik. Mi a különbség közöttük?

Megjegyzés:

A bukóablak-eseményindító futtatása megvárja, amíg az aktivált folyamat lefut . A futtatási állapot az aktivált folyamatfuttatás állapotát tükrözi. Ha például egy aktivált folyamatfuttatás megszakad, a megfelelő ütközőablak-eseményindító futtatása megszakítva lesz megjelölve. Ez eltér az ütemezési eseményindító "tűz és felejtés" viselkedésétől, amely sikeresként van megjelölve, amíg egy folyamatfuttatás elindult.

Az alábbi táblázatban az átfedésmentes ablakos eseményindító és az ütemezési eseményindító összehasonlítása látható:

Tétel Tumbling window trigger Schedule trigger
Visszatöltési forgatókönyvek Támogatott. A folyamatfuttatások ütemezhetők múltbéli időszakokra. Nem támogatott. A folyamatfuttatások csak az aktuális időszaktól vagy egy jövőbeli időszaktól hajthatók végre.
Megbízhatóság 100%-os megbízhatóság. A folyamatfuttatások egy adott kezdési időponttól minden időszakhoz ütemezhetők, hézagok nélkül. Kevésbé megbízható.
Újrapróbálkozási képesség Támogatott. A sikertelen folyamatfuttatások alapértelmezett újrapróbálkozási szabályzata 0, vagy a felhasználó által az eseményindító definíciójában megadott szabályzat. Automatikus újrapróbálkozás, ha a folyamat futása egyidejűségi/kiszolgálói/szabályozási korlátok miatt meghiúsul (azaz 400-es állapotkódok: Felhasználói hiba, 429: Túl sok kérés és 500: Belső kiszolgálóhiba). Nem támogatott.
Párhuzamosság Támogatott. A felhasználók explicit módon adhatják meg az eseményindító egyidejűségi korlátját. 1 és 50 közötti egyidejű aktivált folyamatfuttatást engedélyez. Nem támogatott.
Rendszerváltozók @trigger().scheduledTime@trigger().startTimeEmellett támogatja a WindowStart és a WindowEnd rendszerváltozók használatát is. A felhasználók hozzáférhetnek a trigger().outputs.windowStartTime és trigger().outputs.windowEndTime értékhez az eseményindító rendszerváltozójaként az eseményindító meghatározásában. Az értékeket az időszak kezdési és záró időpontjaként használja a rendszer. Például a minden órában lefutó átfedésmentes ablakos eseményindító esetében az 01:00 és 02:00 közötti időszakban a meghatározás trigger().outputs.windowStartTime = 2017-09-01T01:00:00Z és trigger().outputs.windowEndTime = 2017-09-01T02:00:00Z. Csak az alapértelmezett @trigger().scheduledTime és a @trigger().startTime változókat támogatja.
Folyamat–trigger kapcsolat Támogatja az egy-az-egyhez kapcsolatot. Csak egy folyamat indítható el. Támogatja a több-a-többhöz kapcsolatokat. Egyetlen folyamatot több eseményindító is indíthat. Egyetlen eseményindító elindíthat több folyamatot is.

Event-based trigger

Egy eseményalapú eseményindító folyamatokat futtat egy eseményre válaszul. Az eseményalapú eseményindítók kétféleképpen használhatók.

  • A Storage eseményindítója futtat egy folyamatot egy Storage-fiókban bekövetkező események ellen, például egy fájl érkezése vagy egy fájl törlése az Azure Blob Storage-fiókban.
  • Az egyéni eseményindító feldolgozza és kezeli az egyéni cikkeket az Event Gridben

Az eseményalapú eseményindítókról további információt a Storage eseményindító és az egyéni eseményindító című témakörben talál.

Lásd az alábbi oktatóanyagokat: