Tworzenie niestandardowego wyzwalacza zdarzeń w celu uruchomienia potoku w usłudze Azure Data Factory
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ą !
Architektura sterowana zdarzeniami to typowy wzorzec integracji danych, który obejmuje produkcję, wykrywanie, zużycie i reakcję na zdarzenia. Scenariusze integracji danych często wymagają, aby klienci usługi Azure Data Factory wyzwalali potoki po wystąpieniu określonych zdarzeń. Integracja natywna usługi Data Factory z usługą Azure Event Grid obejmuje teraz tematy niestandardowe. Zdarzenia są wysyłane do tematu usługi Event Grid. Usługa Data Factory subskrybuje temat, nasłuchuje, a następnie odpowiednio wyzwala potoki.
Integracja opisana w tym artykule zależy od usługi Azure Event Grid. Upewnij się, że subskrypcja jest zarejestrowana u dostawcy zasobów usługi Event Grid. Aby uzyskać więcej informacji, zobacz Dostawcy zasobów i ich typy. Musisz mieć możliwość wykonania Microsoft.EventGrid/eventSubscriptions/
akcji. Ta akcja jest częścią wbudowanej roli Współautor zdarzenia EventGrid.
Ważne
Jeśli używasz tej funkcji w usłudze Azure Synapse Analytics, upewnij się, że subskrypcja jest również zarejestrowana u dostawcy zasobów usługi Data Factory. W przeciwnym razie zostanie wyświetlony komunikat z informacją, że "tworzenie subskrypcji zdarzeń nie powiodło się".
Jeśli połączysz parametry potoku i niestandardowy wyzwalacz zdarzenia, możesz przeanalizować i odwołać się do niestandardowych data
ładunków w uruchomieniach potoku. data
Ponieważ pole w niestandardowym ładunku zdarzeń jest wolnym kształtem, struktura klucz-wartość JSON umożliwia kontrolowanie przebiegów potoków sterowanych zdarzeniami.
Ważne
Jeśli w ładunku zdarzenia niestandardowego brakuje klucza, do którego odwołuje się parametryzacja, trigger run
kończy się niepowodzeniem. Zostanie wyświetlony komunikat informujący, że nie można ocenić wyrażenia, ponieważ keyName
właściwość nie istnieje. W takim przypadku zdarzenie nie pipeline run
jest wyzwalane.
Konfigurowanie tematu niestandardowego w usłudze Event Grid
Aby użyć niestandardowego wyzwalacza zdarzeń w usłudze Data Factory, należy najpierw skonfigurować temat niestandardowy w usłudze Event Grid.
Przejdź do usługi Event Grid i samodzielnie utwórz temat. Aby uzyskać więcej informacji na temat tworzenia tematu niestandardowego, zobacz Samouczki dotyczące portalu usługi Event Grid i samouczki interfejsu wiersza polecenia platformy Azure.
Uwaga
Przepływ pracy różni się od wyzwalacza zdarzenia magazynu. W tym miejscu usługa Data Factory nie konfiguruje tematu.
Usługa Data Factory oczekuje, że zdarzenia będą zgodne ze schematem zdarzeń usługi Event Grid. Upewnij się, że ładunki zdarzeń mają następujące pola:
[
{
"topic": string,
"subject": string,
"id": string,
"eventType": string,
"eventTime": string,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string,
"metadataVersion": string
}
]
Tworzenie niestandardowego wyzwalacza zdarzeń za pomocą usługi Data Factory
Przejdź do usługi Data Factory i zaloguj się.
Przejdź do karty Edycja . Poszukaj ikony ołówka.
Wybierz pozycję Wyzwalacz w menu, a następnie wybierz pozycję Nowy/Edytuj.
Na stronie Dodawanie wyzwalaczy wybierz pozycję Wybierz wyzwalacz, a następnie wybierz pozycję + Nowy.
W obszarze Typ wybierz pozycję Zdarzenia niestandardowe.
Wybierz temat niestandardowy z listy rozwijanej Subskrypcja platformy Azure lub ręcznie wprowadź zakres tematu zdarzenia.
Uwaga
Aby utworzyć lub zmodyfikować niestandardowy wyzwalacz zdarzeń w usłudze Data Factory, musisz użyć konta platformy Azure z odpowiednią kontrolą dostępu opartą na rolach (Azure RBAC). Żadne inne uprawnienia nie są wymagane. Jednostka usługi Data Factory nie wymaga specjalnych uprawnień do usługi Event Grid. Aby uzyskać więcej informacji na temat kontroli dostępu, zobacz sekcję Kontrola dostępu oparta na rolach.
Właściwości
Subject begins with
iSubject ends with
umożliwiają filtrowanie zdarzeń wyzwalacza. Obie właściwości są opcjonalne.Użyj opcji + Nowy , aby dodać typy zdarzeń do filtrowania. Lista wyzwalaczy zdarzeń niestandardowych używa relacji OR. Gdy na liście jest zgodne zdarzenie niestandardowe z
eventType
właściwością, zostanie wyzwolone uruchomienie potoku. Typ zdarzenia jest niewrażliwy na wielkość liter. Na przykład na poniższym zrzucie ekranu wyzwalacz pasuje do wszystkichcopycompleted
lubcopysucceeded
zdarzeń, które mają temat rozpoczynający się od fabryk.Niestandardowy wyzwalacz zdarzenia może przeanalizować i wysłać niestandardowy
data
ładunek do potoku. Tworzysz parametry potoku, a następnie wypełniasz wartości na stronie Parametry . Użyj formatu@triggerBody().event.data._keyName_
, aby przeanalizować ładunek danych i przekazać wartości do parametrów potoku.Aby uzyskać szczegółowe wyjaśnienie, zobacz:
Po wprowadzeniu parametrów wybierz przycisk OK.
Filtrowanie zaawansowane
Wyzwalacze zdarzeń niestandardowych obsługują zaawansowane funkcje filtrowania, podobnie jak zaawansowane filtrowanie usługi Event Grid. Te filtry warunkowe umożliwiają wyzwalanie potoków na podstawie wartości ładunku zdarzenia. Na przykład może istnieć pole w ładunku zdarzenia o nazwie Dział, a potok powinien być wyzwalany tylko wtedy, gdy dział jest równy finansom. Można również określić złożoną logikę, taką jak pole daty na liście [1, 2, 3, 4, 5], pole miesiąca, które nie znajduje się na liście [11, 12], a jeśli pole tagu zawiera [Fiscal Year 2021, FiscalYear2021 lub FY2021].
Obecnie wyzwalacze zdarzeń niestandardowych obsługują podzbiór zaawansowanych operatorów filtrowania w usłudze Event Grid. Obsługiwane są następujące warunki filtrowania:
NumberIn
NumberNotIn
NumberLessThan
NumberGreaterThan
NumberLessThanOrEquals
NumberGreaterThanOrEquals
BoolEquals
StringContains
StringBeginsWith
StringEndsWith
StringIn
StringNotIn
Wybierz pozycję + Nowy , aby dodać nowe warunki filtrowania.
Wyzwalacze zdarzeń niestandardowych również przestrzegają tych samych ograniczeń co usługa Event Grid, takich jak:
- 5 zaawansowanych filtrów i 25 wartości filtrów we wszystkich filtrach na wyzwalacz zdarzenia niestandardowego.
- 512 znaków na wartość ciągu.
- 5 wartości dla
in
operatorów inot in
. - Klucze nie mogą mieć
.
w nich znaku (kropka), na przykładjohn.doe@contoso.com
. Obecnie w kluczach nie ma obsługi znaków ucieczki. - Ten sam klucz może być używany w więcej niż jednym filtrze.
Usługa Data Factory korzysta z najnowszej wersji ogólnie dostępnej interfejsu API usługi Event Grid. Gdy nowe wersje interfejsu API dostaną się do etapu ogólnodostępnej, usługa Data Factory rozszerza obsługę bardziej zaawansowanych operatorów filtrowania.
Schemat systemu JSON
Poniższa tabela zawiera omówienie elementów schematu, które są związane z niestandardowymi wyzwalaczami zdarzeń.
Element JSON | opis | Type | Dozwolone wartości | Wymagania |
---|---|---|---|---|
scope |
Identyfikator zasobu usługi Azure Resource Manager tematu usługi Event Grid. | String | Identyfikator usługi Azure Resource Manager | Tak. |
events |
Typ zdarzeń, które powodują wyzwolenie tego wyzwalacza. | Tablica ciągów | Tak, oczekiwana jest co najmniej jedna wartość. | |
subjectBeginsWith |
Pole subject musi zaczynać się od podanego wzorca wyzwalacza do uruchomienia. Na przykład fabryki uruchamiają wyzwalacz tylko dla tematów zdarzeń rozpoczynających się od fabryk. |
String | L.p. | |
subjectEndsWith |
Pole subject musi kończyć się podanym wzorcem wyzwalacza do uruchomienia. |
String | L.p. | |
advancedFilters |
Lista obiektów blob JSON, z których każdy określa warunek filtru. Każdy obiekt blob określa key , operatorType i values . |
Lista obiektów blob JSON | L.p. |
Kontrola dostępu oparta na rolach
Usługa Data Factory używa kontroli dostępu opartej na rolach platformy Azure, aby uniemożliwić nieautoryzowany dostęp. Aby prawidłowo działać, usługa Data Factory wymaga dostępu do:
- Nasłuchiwanie zdarzeń.
- Subskrybowanie aktualizacji ze zdarzeń.
- Wyzwalanie potoków połączonych ze zdarzeniami niestandardowymi.
Aby pomyślnie utworzyć lub zaktualizować niestandardowy wyzwalacz zdarzeń, musisz zalogować się do usługi Data Factory przy użyciu konta platformy Azure, które ma odpowiedni dostęp. W przeciwnym razie operacja kończy się niepowodzeniem z komunikatem "Odmowa dostępu".
Usługa Data Factory nie wymaga specjalnych uprawnień do twojego wystąpienia usługi Event Grid. Nie trzeba również przypisywać specjalnej roli RBAC platformy Azure do jednostki usługi Data Factory dla operacji.
W szczególności potrzebujesz Microsoft.EventGrid/EventSubscriptions/Write
uprawnień w systemie /subscriptions/####/resourceGroups//####/providers/Microsoft.EventGrid/topics/someTopics
.
- Podczas tworzenia w fabryce danych (na przykład w środowisku deweloperskim) zalogowane konto platformy Azure musi mieć poprzednie uprawnienie.
- Podczas publikowania za pośrednictwem ciągłej integracji i ciągłego dostarczania konto używane do publikowania szablonu usługi Azure Resource Manager w fabryce testowej lub produkcyjnej musi mieć powyższe uprawnienie.
Powiązana zawartość
- Uzyskaj szczegółowe informacje na temat wykonywania wyzwalacza.
- Dowiedz się, jak odwoływać się do metadanych wyzwalacza w uruchomieniach potoku.