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 (EDA) 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.
Uwaga
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 lub w przeciwnym razie zostanie wyświetlony komunikat o błędzie informujący, ż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 dowolną strukturą klucz-wartość w formacie JSON, możesz kontrolować uruchomienia potoków sterowanych zdarzeniami.
Ważne
Jeśli w ładunku zdarzenia niestandardowego brakuje klucza, do którego odwołuje się parametryzacja, trigger run
zakończy się niepowodzeniem. Zostanie wyświetlony błąd wskazujący, że nie można ocenić wyrażenia, ponieważ właściwość keyName
nie istnieje. W takim przypadku zdarzenie niepipeline run
zostanie wyzwolone.
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 Azure Event Grid i samodzielnie utwórz temat. Aby uzyskać więcej informacji na temat tworzenia tematu niestandardowego, zobacz Samouczki dotyczące portalu usługi Azure Event Grid i samouczki interfejsu wiersza polecenia.
Uwaga
Przepływ pracy różni się od wyzwalacza zdarzeń 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 Azure 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.
Wybierz pozycję Zdarzenia niestandardowe dla pozycji Typ.
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). Nie jest wymagane żadne dodatkowe uprawnienie. 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.
Temat zaczyna się od i Temat kończy się właściwościami , które umożliwiają filtrowanie pod kątem 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 zdarzenie niestandardowe z właściwością zgodną
eventType
z jedną na liście, 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. Utworzysz parametry potoku, a następnie wypełnij 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 następujące artykuły:
Po wprowadzeniu parametrów wybierz przycisk OK.
Filtrowanie zaawansowane
Niestandardowy wyzwalacz zdarzeń obsługuje zaawansowane funkcje filtrowania, podobne do zaawansowanego filtrowania 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ł i potok powinny być wyzwalane 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], pole tagu zawiera dowolne pole ["Rok obrachunkowy 2021", "FiscalYear2021", "FY2021".
Obecnie niestandardowy wyzwalacz zdarzeń obsługuje podzestawzaawansowanych operatorów filtrowania w usłudze Event Grid. Obsługiwane są następujące warunki filtrowania:
- NumberIn
- NumberNotIn
- NumberLessThan
- NumberGreaterThan
- NumberLessThanOrEquals
- NumberGreaterThanOrEquals
- BoolEquals
- CiągContains
- StringBeginsWith
- StringEndsWith
- CiągIn
- StringNotIn
Wybierz pozycję +Nowy , aby dodać nowe warunki filtrowania.
Ponadto wyzwalacze zdarzeń niestandardowych przestrzegają tych samych ograniczeń co usługa Event Grid, w tym:
- 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 operatorów in i nie w operatorach
- klucze nie mogą mieć
.
znaków (kropka) w nich, 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 staną się etapem ga, usługa Data Factory rozszerzy obsługę bardziej zaawansowanych operatorów filtrowania.
Schemat systemu JSON
Poniższa tabela zawiera omówienie elementów schematu związanych 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 | Nie | |
subjectEndsWith |
Pole subject musi kończyć się podanym wzorcem wyzwalacza do uruchomienia. |
String | Nie | |
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 | Nie. |
Kontrola dostępu oparta na rolach
Usługa Azure Data Factory używa kontroli dostępu opartej na rolach (RBAC) 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 zakończy się niepowodzeniem z powodu błędu Odmowy dostępu.
Usługa Data Factory nie wymaga specjalnych uprawnień do 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ć powyższe uprawnienie
- Podczas publikowania za pośrednictwem ciągłej integracji/ciągłego wdrażania konto używane do publikowania szablonu usługi ARM 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.