Udostępnij za pośrednictwem


Wykonywanie potoku i jego wyzwalacze w usługach Azure Data Factory lub Azure Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Uruchomienie potoku w usłudze Azure Data Factory i usłudze Azure Synapse definiuje wystąpienie wykonywania potoku. Załóżmy na przykład, że masz potok danych, który uruchamia się o godzinie 8:00, 9:00 i 10:00. W takim przypadku występują trzy osobne uruchomienia potoku, czyli uruchomienia potoku. Każde uruchomienie potoku ma unikatowy identyfikator uruchomienia potoku. Identyfikator uruchomienia to GUID, który unikatowo definiuje konkretne uruchomienie potoku.

Uruchomienia potoku są zazwyczaj inicjowane przez przekazanie argumentów do parametrów, które definiujesz w potoku. Potok zadań możesz wykonywać ręcznie albo za pomocą wyzwalacza. Ten artykuł zawiera szczegółowe informacje na temat obu sposobów wykonania potoku.

Tworzenie wyzwalaczy za pomocą interfejsu użytkownika

Aby ręcznie wyzwolić potok lub skonfigurować nowy zaplanowany wyzwalacz, przesuwające się okno, zdarzenie magazynowania lub niestandardowy wyzwalacz zdarzeń, wybierz opcję Dodaj wyzwalacz w górnej części edytora potoku.

Pokazuje, jak dodać nowy wyzwalacz za pomocą interfejsu użytkownika edytora potoków.

Jeśli zdecydujesz się ręcznie uruchomić potok, zostanie on wykonany natychmiast. W przeciwnym razie, jeśli wybierzesz pozycję Nowy/Edytuj, zostanie wyświetlony monit z oknem dodawania wyzwalaczy, aby wybrać istniejący wyzwalacz do edycji lub utworzyć nowy wyzwalacz.

Pokazuje okno dodawania wyzwalaczy z wyróżnionym miejscem utworzenia nowego wyzwalacza.

Zostanie wyświetlone okno konfiguracji wyzwalacza, które umożliwia wybranie typu wyzwalacza.

Pokazuje nowe okno konfiguracji wyzwalacza z listą rozwijaną typu pokazującą różne typy wyzwalaczy, które można utworzyć.

Przeczytaj więcej na temat zaplanowanych, przesuwanych okien, zdarzeń magazynu i niestandardowych wyzwalaczy zdarzeń poniżej.

Wykonywanie ręczne

Ręczne wykonanie potoku jest również określane jako wykonanie na żądanie.

Na przykład przyjmijmy, że masz podstawowy potok o nazwie copyPipeline, który chcesz wykonać. Ten potok danych ma jedną operację polegającą na kopiowaniu elementów z folderu źródłowego w przechowywaniu Azure Blob Storage do folderu docelowego w tym samym przechowywaniu. W następującej definicji JSON przedstawiono ten przykładowy potok:

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

W definicji JSON potok przyjmuje dwa parametry: sourceBlobContainer i sinkBlobContainer. Wartości tych parametrów są przekazywane w czasie uruchomienia.

Ręczne wykonywanie z użyciem innych interfejsów API lub zestawów SDK

Możesz uruchomić potok ręcznie, używając jednej z następujących metod:

  • SDK .NET
  • Moduł programu Azure PowerShell
  • Interfejs API REST
  • Zestaw SDK dla języka Python

SDK .NET

Następujące przykładowe wywołanie pokazuje, jak ręcznie uruchomić potok, korzystając z .NET SDK:

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

Pełny przykład można znaleźć w artykule Szybki start: tworzenie fabryki danych przy użyciu zestawu SDK platformy .NET.

Uwaga

Zestaw .NET SDK umożliwia wywoływanie potoków z usługi Azure Functions, z usług internetowych itd.

Azure PowerShell

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Następujące przykładowe polecenie pokazuje, jak ręcznie uruchomić potok przy użyciu Azure PowerShell.

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

Parametry są przekazywane w treści ładunku żądania. W zestawach SDK dla .NET, Azure PowerShell i Pythona, wartości przekazuje się w słowniku, który jest przekazywany jako argument wywołania.

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

Ładunek odpowiedzi to unikatowy identyfikator uruchomienia potoku:

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

Pełny przykład można znaleźć w artykule Szybki start: tworzenie fabryki danych przy użyciu programu Azure PowerShell.

Zestaw SDK dla języka Python

Aby uzyskać kompletny przykład, zobacz Szybki start: tworzenie fabryki danych i potoku przy użyciu języka Python

Interfejs API REST

Następujące przykładowe polecenie ilustruje, jak ręcznie uruchomić potok przy użyciu interfejsu API REST:

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

Pełny przykład można znaleźć w artykule Szybki start: tworzenie fabryki danych przy użyciu interfejsu API REST.

Typy wyzwalaczy

Wyzwalacze to kolejny sposób na uruchomienie potoku. Wyzwalacze reprezentują mechanizm, który określa, kiedy należy rozpocząć wykonanie pipeline'u. Obecnie usługa obsługuje trzy typy wyzwalaczy:

  • Wyzwalacz harmonogramu: wyzwalacz, który uruchamia przepływ danych w harmonogramie czasowym.

  • Wyzwalacz okna przewijanego: wyzwalacz działający w okresowych interwałach, jednocześnie zachowując stan.

  • Wyzwalacz oparty na zdarzeniach: wyzwalacz, który odpowiada na zdarzenie.

Potoki i wyzwalacze mają relację wiele-do-wielu (z wyjątkiem wyzwalacza typu stałoczasowego). Wiele wyzwalaczy może uruchamiać jeden potok, a jeden wyzwalacz może uruchamiać wiele potoków. W poniższej definicji wyzwalacza właściwość pipelines odnosi się do listy potoków wyzwalanych przez określony wyzwalacz. Definicja właściwości określa wartości dla parametrów potoku danych.

Podstawowa definicja wyzwalacza

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

Wyzwalacz harmonogramowy

Wyzwalacz harmonogramu uruchamia potoki zgodnie z harmonogramem czasowym. Ten wyzwalacz obsługuje cykliczne i zaawansowane opcje kalendarza. Na przykład wyzwalacz obsługuje interwały, takie jak "co tydzień" lub "poniedziałek o godzinie 17:00 i czwartek o godzinie 19:00". Wyzwalacz harmonogramu jest elastyczny, ponieważ wzorzec zestawu danych jest niezależny, a wyzwalacz nie rozróżnia danych szeregów czasowych i innych niż szeregi czasowe.

Aby uzyskać więcej informacji o wyzwalaczach harmonogramu i przykłady, zobacz Tworzenie wyzwalacza, który uruchamia potok zgodnie z harmonogramem.

Definicja wyzwalacza harmonogramu

Tworząc wyzwalacz harmonogramu, należy określić planowanie i powtarzanie przy użyciu definicji JSON.

Aby wyzwalacz harmonogramu wyzwalał uruchomienie potoku, należy dołączyć do definicji wyzwalacza odwołanie do konkretnego potoku. Między pipeline'ami i wyzwalaczami występują relacje wiele-do-wielu. Wiele wyzwalaczy może uruchomić jeden pipeline. Jeden wyzwalacz może uruchamiać wiele procesów.

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

Ważne

Właściwość parameters jest obowiązkową wartością elementu właściwości pipelines. Jeśli potok nie przyjmuje żadnych parametrów, należy dodać pustą definicję JSON dla właściwości parameters.

Przegląd schematu

Poniższa tabela zawiera ogólne omówienie głównych elementów schematu odnoszących się do cykliczności i planowania wyzwalacza.

Właściwość JSON opis
startTime (czas startu) Wartość daty i godziny. W przypadku podstawowych harmonogramów wartość właściwości startTime dotyczy pierwszego wystąpienia. W przypadku harmonogramów złożonych wyzwalacz nie jest uruchamiany wcześniej niż określona wartość właściwości startTime.
Czas zakończenia Data i godzina końca wyzwalacza. Wyzwalacz nie wykonuje się po określonej dacie i godzinie zakończenia. Wartość właściwości nie może odnosić się do przeszłości.
strefa czasowa Strefa czasowa. Aby uzyskać listę obsługiwanych stref czasowych, zobacz Tworzenie wyzwalacza uruchamiającego potok zgodnie z harmonogramem.
nawrót Obiekt cykliczności określający reguły powtarzania wyzwalacza. Obiekt powtarzania obsługuje elementy frequency, interval, endTime, count i schedule. Po zdefiniowaniu obiektu cyklu wymagany jest element frequency. Inne elementy obiektu cyklu są opcjonalne.
częstotliwość Jednostka częstotliwości, z jaką wyzwalacz się powtarza. Obsługiwane wartości to „minute” („minuta”), „hour” („godzina”), „day” („dzień”), „week” („tydzień”) i „month” („miesiąc”).
interwał Dodatnia liczba całkowita, która określa przedział dla wartości częstotliwości. Wartość frequency określa, jak często jest uruchamiany wyzwalacz. Jeśli na przykład właściwość interval ma wartość 3, a właściwość frequency ma wartość „week” („tydzień”), wyzwalacz jest powtarzany co trzy tygodnie.
harmonogram Harmonogram powtarzalności wyzwalacza. Wyzwalacz z określoną wartością frequency zmienia swoją powtarzalność na podstawie harmonogramu powtarzalności. Właściwość schedule zawiera modyfikacje cyklu oparte na minutach, godzinach, dniach tygodnia, dniach miesiąca i numerze tygodnia.

Uwaga

W przypadku stref czasowych, które obserwują oszczędność światła dziennego, wyzwalaj automatyczne dostosowywanie czasu dla zmiany dwa razy w roku, jeśli cykl jest ustawiony na Dni lub powyżej. Aby zrezygnować ze zmiany światła dziennego, wybierz strefę czasową, która nie obserwuje oszczędzania światła dziennego, na przykład czasu UTC.

Zmiana czasu letniego odbywa się tylko dla wyzwalacza, którego cykl ustawiony jest na dni lub powyżej. Jeśli wyzwalacz jest ustawiony na częstotliwość Godziny lub Minuty , będzie on nadal uruchamiany w regularnych odstępach czasu.

Przykład wyzwalacza harmonogramowego

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

Wartości domyślne schematów, limity i przykłady

Właściwość JSON Typ Wymagane Domyślna wartość Prawidłowe wartości Przykład
startTime (czas startu) sznurek Tak Brak Daty i godziny ISO 8601 "startTime" : "2013-01-09T09:30:00-08:00"
nawrót obiekt Tak Brak Obiekt powtarzalności "recurrence" : { "frequency" : "monthly", "interval" : 1 }
interwał liczba Nie. 1 Od 1 do 1000 "interval":10
Czas zakończenia sznurek Tak Brak Wartość daty i godziny reprezentująca godzinę w przyszłości "endTime" : "2013-02-09T09:30:00-08:00"
harmonogram obiekt Nie. Brak Obiekt harmonogramu "schedule" : { "minute" : [30], "hour" : [8,17] }

Właściwość startTime

W poniższej tabeli przedstawiono, w jaki sposób właściwość startTime kontroluje uruchamianie wyzwalacza:

Wartość startTime Cykl bez harmonogramu Powtarzalność z harmonogramem
Czas rozpoczęcia minął Oblicza pierwszy przyszły czas zakończenia wykonywania po czasie rozpoczęcia oraz uruchamia o tej porze.

Uruchamia kolejne operacje wyznaczone na podstawie ostatniego czasu ich uruchomienia.

Zobacz przykład znajdujący się pod tabelą.
Wyzwalacz jest uruchamiany nie wcześniej niż w określonym czasie rozpoczęcia. Pierwsze wystąpienie opiera się na harmonogramie obliczonym na podstawie czasu rozpoczęcia.

Kolejne wykonania są przeprowadzane zgodnie z harmonogramem cyklu.
Czas rozpoczęcia jest w przyszłości lub w bieżącym czasie Uruchamia się raz o określonej godzinie rozpoczęcia.

Uruchamia kolejne operacje wyznaczone na podstawie ostatniego czasu ich uruchomienia.
Wyzwalacz jest uruchamiany nie wcześniej niż o określonej godzinie rozpoczęcia. Pierwsze wystąpienie opiera się na harmonogramie obliczonym na podstawie czasu rozpoczęcia.

Kolejne wykonania są przeprowadzane zgodnie z harmonogramem cyklu.

Rozpatrzmy przykład tego, co się dzieje, gdy czas rozpoczęcia przypada w przeszłości, z powtarzaniem, ale bez harmonogramu. Załóżmy, że obecna data i godzina to 13:00 08-04-2017, czas rozpoczęcia to 14:00 07-04-2017, a cykl jest określony na 2 dni. (Wartość cyklu jest definiowana poprzez ustawienie właściwości częstotliwości na "day" oraz właściwości interwału na 2.) Zwróć uwagę, że wartość startTime jest w przeszłości i występuje sprzed aktualnej godziny.

W tych warunkach pierwsze wykonanie następuje o 14:00 w dniu 09-04-2017. Silnik harmonogramu oblicza realizacje od czasu rozpoczęcia. Wszystkie wystąpienia w przeszłości są odrzucane. Silnik wykorzystuje kolejne wystąpienie, które ma miejsce w przyszłości. W tym scenariuszu godziną rozpoczęcia jest 14:00 w dniu 07-04-2017. Następne wystąpienie jest za dwa dni, czyli 09.04.2017 o 14:00.

Czas pierwszego wykonania jest identyczny, nawet jeśli właściwość startTime ma wartość 14:00 05-04-2017 lub 14:00 01-04-2017. Po pierwszym wykonaniu kolejne wykonania są obliczane przy użyciu harmonogramu. W związku z tym kolejne wykonania zostaną uruchomione o 14:00 w dniu 11-04-2017, a następnie o 14:00 w dniu 13-04-2017, o 14:00 w dniu 15-04-2017 i tak dalej.

Na koniec, gdy godziny lub minuty nie są ustawione w harmonogramie wyzwalacza, godziny lub minuty pierwszego wykonania są używane jako domyślne.

Właściwość harmonogramu

Właściwości schedule można użyć do ograniczenia liczby wykonań wyzwalacza. Jeśli na przykład uruchomienie wyzwalacza z częstotliwością miesięczną zaplanowano na 31. dzień, wyzwalacz będzie uruchamiany tylko w miesiącach, które mają trzydzieści jeden dni.

Właściwości schedule możesz też użyć do zwiększenia liczby wykonań wyzwalacza. Na przykład wyzwalacz z częstotliwością miesięczną, którego uruchomienie zaplanowano na 1. i 2. dzień miesiąca, będzie uruchamiany pierwszego i drugiego dnia miesiąca, a nie raz na miesiąc.

Jeśli określono wiele elementów harmonogramu , kolejność oceny wynosi od największego do najmniejszego ustawienia harmonogramu: numer tygodnia, dzień miesiąca, dzień tygodnia, godzina, minuta.

W poniższej tabeli szczegółowo opisano elementy schedule:

Element JSON opis Prawidłowe wartości
minuty Minuty godziny, o których uruchamiany jest wyzwalacz. - Liczba całkowita
- Tablica liczb całkowitych
godziny Godziny dnia, o których uruchamiany jest wyzwalacz. - Liczba całkowita
- Tablica liczb całkowitych
dni tygodnia Dni tygodnia, w które uruchamiany jest wyzwalacz. Wartość można określić tylko z częstotliwością tygodniową.
- Poniedziałek
- Wtorek
- Środa
- Czwartek
- Piątek
- Sobota
- Niedziela
- Tablica wartości dni (maksymalny rozmiar tablicy to 7)

Wartości dnia nie są uwzględniane wielkości liter
monthlyOccurrences (wystąpienia) Dni miesiąca, w których uruchamiany jest wyzwalacz. Wartość można określić tylko z częstotliwością miesięczną. - Tablica obiektów miesięcznego występowania: { "day": day, "occurrence": occurrence }
- Atrybut day jest dniem tygodnia, w którym uruchamiany jest wyzwalacz. Na przykład właściwość monthlyOccurrences o wartości day wynoszącej {Sunday} oznacza każdą niedzielę miesiąca. Atrybut day jest wymagany.
- Atrybut wystąpienie jest wystąpieniem określonego dnia w miesiącu. Na przykład właściwość monthlyOccurrences o wartościach day i occurence wynoszących {Sunday, -1} oznacza ostatnią niedzielę miesiąca. Atrybut occurence jest opcjonalny.
monthDays (Dni) Dzień miesiąca, w którym uruchamiany jest wyzwalacz. Wartość można określić tylko z częstotliwością miesięczną. - Dowolna wartość <= -1 i >= -31
- Dowolna wartość >= 1 i <= 31
- Tablica wartości

Wyzwalacz przewijanego okna

Wyzwalacze przesuwane okna to rodzaj wyzwalaczy, które są uruchamiane w określonych odstępach czasu od wskazanego czasu rozpoczęcia, zachowując stan. Okna czasowe to seria stałych, niepokrywających się ze sobą i przylegających do siebie przedziałów czasowych.

Aby uzyskać więcej informacji na temat wyzwalaczy okien tumblingowych i przykładów, zobacz Tworzenie wyzwalacza okna tumblingowego.

Przykłady harmonogramów powtarzania wyzwalaczy

Ta część zawiera przykłady harmonogramów powtarzania. Koncentruje się ona na obiekcie schedule i jego elementach.

W przykładach przyjęto założenie, że wartość interwału wynosi 1 i że wartość częstotliwości jest poprawna zgodnie z definicją harmonogramu. Na przykład nie można mieć wartości frequency równej „day” i jednocześnie mieć modyfikacji monthDays w obiekcie schedule. Tego rodzaju ograniczenia są opisane w tabeli w poprzedniej sekcji.

Przykład opis
{"hours":[5]} Uruchamiany o godz. 5:00 każdego dnia.
{"minutes":[15], "hours":[5]} Biegaj codziennie o 5:15 rano.
{"minutes":[15], "hours":[5,17]} Biegaj o godz. 5:15 i 17:15 każdego dnia.
{"minutes":[15,45], "hours":[5,17]} Uruchamiany o godz. 5:15, 5:45, 17:15 i 17:45 każdego dnia.
{"minutes":[0,15,30,45]} Uruchamiany co 15 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]} Uruchamiany co godzinę.

Ten wyzwalacz jest uruchamiany co godzinę. Minuty są kontrolowane przez wartość właściwości startTime, gdy wartość jest określona. Jeśli wartość nie jest określona, minuty są kontrolowane przez czas utworzenia. Jeśli na przykład czas rozpoczęcia lub czas utworzenia (zależnie od sytuacji) to 12:25 po południu, wyzwalacz jest uruchamiany o godzinie 00:25, 01:25, 02:25, ..., 23:25.

Ten harmonogram jest odpowiednikiem posiadania wyzwalacza z właściwością częstotliwość o wartości „godzina”, właściwością interwał o wartości 1 oraz bez właściwości harmonogram. Tego harmonogramu można także używać z innymi wartościami właściwości frequency i interval do tworzenia innych wyzwalaczy. Gdy na przykład właściwość frequency ma wartość „month”, harmonogram jest uruchamiany tylko raz w miesiącu, a nie każdego dnia, gdy właściwość frequency ma wartość „day”.
{"minutes":[0]} Uruchamiany co godzinę o pełnej godzinie.

Ten wyzwalacz uruchamia się co godzinę, zaczynając od północy, a następnie o 1:00, 2:00 itd.

Ten harmonogram jest odpowiednikiem wyzwalacza z właściwością frequency o wartości „hour” i właściwością startTime o wartości 0 minut lub bez właściwości schedule, ale z właściwością frequency o wartości „day”. Jeśli wartość właściwości frequency to „week” lub „month”, harmonogram jest wykonywany odpowiednio tylko raz w tygodniu lub raz w miesiącu.
{"minutes":[15]} Uruchamiane 15 minut po każdej pełnej godzinie.

Ten wyzwalacz uruchamia się co godzinę o 15 minut po pełnej godzinie, począwszy od godz. 00:15, 1:15, 2:15 itd., a kończąc o 23:15.
{"hours":[17], "weekDays":["saturday"]} Uruchamiany o godz. 17:00 w każdą sobotę.
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} Uruchamiany o godz. 17:00 w każdy poniedziałek, środę i piątek.
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} Uruchamiany o godz. 17:15 i 17:45 w każdy poniedziałek, środę i piątek.
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Uruchamiany co 15 minut w dni robocze.
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} Uruchamiany co 15 minut w dni robocze, między godz. 9:00 a 16:45.
{"weekDays":["tuesday", "thursday"]} Uruchamiany we wtorki i czwartki o określonej godzinie.
{"minutes":[0], "hours":[6], "monthDays":[28]} Uruchamiany o godz. 6:00 dwudziestego ósmego dnia każdego miesiąca (zakładając, że właściwość frequency ma wartość „month”).
{"minutes":[0], "hours":[6], "monthDays":[-1]} Uruchamiany o godz. 6:00 ostatniego dnia miesiąca.

Aby uruchomić wyzwalacz ostatniego dnia miesiąca, użyj wartości -1 zamiast 28, 29, 30 lub 31.
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} Uruchamiany o godz. 6:00 pierwszego i ostatniego dnia każdego miesiąca.
{monthDays":[1,14]} Uruchamiany pierwszego i czternastego dnia każdego miesiąca o określonej godzinie.
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Uruchamiany w pierwszy piątek każdego miesiąca o godz. 5:00.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} Uruchamiany w pierwszy piątek każdego miesiąca o określonej godzinie.
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} Uruchamiany w trzeci piątek od końca każdego miesiąca o określonej godzinie.
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Uruchamiany w pierwszy i ostatni piątek każdego miesiąca o godz. 5:00.
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} Uruchamiany w pierwszy i ostatni piątek każdego miesiąca o określonej godzinie.
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} Uruchamiany w piąty piątek każdego miesiąca o określonej godzinie.

Gdy w miesiącu nie ma piątego piątku, pipeline się nie uruchomi. Aby uruchomić wyzwalacz w ostatni piątek miesiąca, należy rozważyć użycie wartości -1 zamiast 5 dla wartości occurrence.
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} Uruchamiany co 15 minut w ostatni piątek miesiąca.
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} Uruchamiany o godz. 5:15 AM, 5:45 AM, 5:15 PM i 5:45 PM w trzecią środę każdego miesiąca.

Wyzwalacz oparty na zdarzeniach

Wyzwalacz zdarzeniowy uruchamia potoki w odpowiedzi na zdarzenie. Z perspektywy zachowania, jeśli zatrzymasz i uruchomisz wyzwalacz oparty na zdarzeniach, wznawia on jego stary wzorzec, co może spowodować niepożądane uruchomienie potoku danych. W takim przypadku należy usunąć i utworzyć nowy wyzwalacz oparty na zdarzeniach. Nowy wyzwalacz rozpoczyna się od nowa bez historii. Istnieją dwa warianty wyzwalaczy opartych na zdarzeniach.

  • Wyzwalacz zdarzeń Storage uruchamia potok w odniesieniu do zdarzeń występujących na koncie magazynu, takich jak przybycie lub usunięcie pliku w usłudze Azure Blob Storage.
  • Niestandardowy wyzwalacz zdarzeń przetwarza i obsługuje niestandardowe artykuły w usłudze Event Grid

Aby uzyskać więcej informacji na temat wyzwalaczy opartych na zdarzeniach, zobacz Wyzwalacz zdarzenia magazynu i Wyzwalacz zdarzenia niestandardowego.

Porównanie typów wyzwalaczy

Zarówno wyzwalacz okna wirowania, jak i wyzwalacz harmonogramu pracują w oparciu o pulsy czasu. Czym się od siebie różnią?

Uwaga

Uruchomienie wyzwalacza okna typu "tumbling window" czeka na zakończenie uruchomienia potoku z wyzwalaczem. Jego stan wykonywania odzwierciedla stan wyzwolonego procesu uruchomienia. Na przykład, jeśli wyzwalane uruchomienie potoku zostanie anulowane, odpowiednie uruchomienie wyzwalacza okna zsuwającego zostanie oznaczone jako anulowane. Różni się to od zachowania wyzwalacza harmonogramu w stylu "odpal i zapomnij", który jest oznaczony jako pomyślny, o ile uruchomiono potok.

Poniższa tabela zawiera porównanie wyzwalacza okna opadającego i wyzwalacza według harmonogramu.

Przedmiot Wyzwalacz przewijanego okna Wyzwalacz harmonogramowy
Scenariusze uzupełniania braków Wspierane Uruchomienia potoków można planować dla okien czasowych w przeszłości. Nie obsługiwane. Uruchomienia potoków można wykonywać tylko w teraźniejszych i przyszłych okresach czasu.
Niezawodność 100-procentowa niezawodność. Uruchomienie potoków można zaplanować dla wszystkich okien czasowych od określonej daty rozpoczęcia bez przerw w harmonogramie. Mniej niezawodne.
Możliwość ponowienia próby Wspierane Uruchomienia potoków zakończone niepowodzeniem mają domyślną politykę ponawiania ustawioną na 0 lub politykę określoną przez użytkownika w definicji wyzwalacza. Automatyczne ponawianie prób jest uruchamiane, gdy uruchomienie potoku kończy się niepowodzeniem z powodu limitów współbieżności, serwera lub ograniczenia przepustowości (czyli kodów stanu 400: błąd użytkownika, 429: zbyt wiele żądań oraz 500: wewnętrzny błąd serwera). Nie obsługiwane.
Współbieżność Wspierane Użytkownicy mogą jawnie ustawić limity współbieżności dla wyzwalacza. Umożliwia od 1 do 50 uruchomień potoków wyzwolonych jednocześnie. Nie obsługiwane.
Zmienne systemu Wraz z elementami @trigger().scheduledTime i @trigger().startTime obsługuje również użycie zmiennych systemowych WindowStart i WindowEnd. Użytkownicy mogą uzyskiwać dostęp do zmiennych trigger().outputs.windowStartTime i trigger().outputs.windowEndTime jako zmiennych systemu wyzwalacza w definicji wyzwalacza. Wartości są używane odpowiednio jako czas rozpoczęcia okna i czas zakończenia okna. Na przykład, w przypadku wyzwalacza przesuwanego okna czasowego uruchamianego co godzinę, dla okna od godz. 1:00 do 2:00, definicja to trigger().outputs.windowStartTime = 2017-09-01T01:00:00Z i trigger().outputs.windowEndTime = 2017-09-01T02:00:00Z. Obsługuje tylko zmienne domyślne @trigger().scheduledTime i @trigger().startTime .
Relacja pipeline do wyzwalacza Obsługuje relację „jeden do jednego”. Można wyzwolić tylko jeden rurociąg. Obsługuje typy relacji „wiele do wielu”. Wiele wyzwalaczy może uruchomić jeden pipeline. Jeden wyzwalacz może uruchamiać wiele procesów.

Zobacz następujące samouczki: