Udostępnij za pośrednictwem


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

  1. Przejdź do usługi Data Factory i zaloguj się.

  2. Przejdź do karty Edycja . Poszukaj ikony ołówka.

  3. Wybierz pozycję Wyzwalacz w menu, a następnie wybierz pozycję Nowy/Edytuj.

  4. Na stronie Dodawanie wyzwalaczy wybierz pozycję Wybierz wyzwalacz, a następnie wybierz pozycję + Nowy.

  5. W obszarze Typ wybierz pozycję Zdarzenia niestandardowe.

    Zrzut ekranu przedstawiający tworzenie nowego niestandardowego wyzwalacza zdarzenia w interfejsie użytkownika usługi Data Factory.

  6. 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.

  7. Właściwości Subject begins with i Subject ends with umożliwiają filtrowanie zdarzeń wyzwalacza. Obie właściwości są opcjonalne.

  8. 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 wszystkich copycompleted lub copysucceeded zdarzeń, które mają temat rozpoczynający się od fabryk.

    Zrzut ekranu przedstawiający stronę Wyzwalacz edycji w celu wyjaśnienia typów zdarzeń i filtrowania podmiotów w interfejsie użytkownika usługi Data Factory.

  9. 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:

    Zrzut ekranu przedstawiający ustawienia parametrów potoku.

    Zrzut ekranu przedstawiający stronę parametrów w celu odwołania się do ładunku danych w zdarzeniu niestandardowym.

  10. 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].

Zrzut ekranu przedstawiający ustawianie zaawansowanych filtrów wyzwalacza zdarzenia klienta.

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 i not in .
  • Klucze nie mogą mieć . w nich znaku (kropka), na przykład john.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, operatorTypei 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.