Vytvoření vlastní aktivační události pro spuštění kanálu ve službě Azure Data Factory

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Architektura založená na událostech (EDA) je běžný model integrace dat, který zahrnuje produkční prostředí, detekci, spotřebu a reakci na události. Scénáře integrace dat často vyžadují, aby zákazníci služby Azure Data Factory aktivovaly kanály, když dojde k určitým událostem. Nativní integrace služby Data Factory se službou Azure Event Grid se teď zabývá vlastními tématy. Události odesíláte do tématu event gridu. Služba Data Factory se přihlásí k odběru tématu, naslouchá a odpovídajícím způsobem aktivuje kanály.

Poznámka:

Integrace popsaná v tomto článku závisí na Azure Event Gridu. Ujistěte se, že je vaše předplatné zaregistrované u poskytovatele prostředků Event Gridu. Další informace najdete v tématu Zprostředkovatelé a typy prostředků. Musíte být schopni provést Microsoft.EventGrid/eventSubscriptions/ akci. Tato akce je součástí předdefinované role přispěvatele EventGrid EventSubscription.

Důležité

Pokud tuto funkci používáte ve službě Azure Synapse Analytics, ujistěte se, že je vaše předplatné zaregistrované také u poskytovatele prostředků služby Data Factory, nebo se zobrazí chyba s oznámením, že vytvoření odběru událostí selhalo.

Pokud zkombinujete parametry kanálu a vlastní trigger události, můžete analyzovat a odkazovat na vlastní data datové části v spuštěních kanálu. data Vzhledem k tomu, že pole ve vlastní datové části události je bezplatná struktura klíč-hodnota JSON, můžete řídit spuštění kanálu řízeného událostmi.

Důležité

Pokud v datové části vlastní události chybí klíč odkazovaný v parametrizaci, trigger run selže. Zobrazí se chyba, která uvádí, že výraz nelze vyhodnotit, protože vlastnost keyName neexistuje. V takovém případě událost neaktivujepipeline run .

Nastavení vlastního tématu ve službě Event Grid

Pokud chcete ve službě Data Factory použít trigger vlastní události, musíte nejprve nastavit vlastní téma ve službě Event Grid.

Přejděte do Azure Event Gridu a vytvořte si téma sami. Další informace o tom, jak vytvořit vlastní téma, najdete v kurzech portálu Azure Event Grid a kurzech rozhraní příkazového řádku.

Poznámka:

Pracovní postup se liší od triggeru události úložiště. Tady vám Data Factory nenastaví téma.

Data Factory očekává, že události budou následovat podle schématu událostí Event Gridu. Ujistěte se, že datové části událostí obsahují následující pole:

[
  {
    "topic": string,
    "subject": string,
    "id": string,
    "eventType": string,
    "eventTime": string,
    "data":{
      object-unique-to-each-publisher
    },
    "dataVersion": string,
    "metadataVersion": string
  }
]

Vytvoření vlastní aktivační události pomocí služby Data Factory

  1. Přejděte do Služby Azure Data Factory a přihlaste se.

  2. Přepněte na kartu Upravit . Vyhledejte ikonu tužky.

  3. V nabídce vyberte Aktivační událost a pak vyberte Nový/Upravit.

  4. Na stránce Přidat triggery vyberte Zvolit aktivační událost a pak vyberte +Nový.

  5. Vyberte vlastní události pro typ.

    Screenshot of Author page to create a new custom event trigger in Data Factory UI.

  6. V rozevíracím seznamu předplatného Azure vyberte vlastní téma nebo ručně zadejte obor tématu události.

    Poznámka:

    Pokud chcete vytvořit nebo upravit vlastní trigger události ve službě Data Factory, musíte použít účet Azure s odpovídajícím řízením přístupu na základě role (Azure RBAC). Nevyžaduje se žádné další oprávnění. Instanční objekt služby Data Factory nevyžaduje zvláštní oprávnění k vaší službě Event Grid. Další informace o řízení přístupu najdete v části Řízení přístupu na základě role.

  7. Předmět začíná a předmět končí vlastnostmi, které umožňují filtrovat aktivační události. Obě vlastnosti jsou volitelné.

  8. Pomocí + Nový přidejte typy událostí, podle které chcete filtrovat. Seznam vlastních triggerů událostí používá relaci OR. Když se vlastní událost s eventType vlastností, která odpovídá jedné z vlastností v seznamu, aktivuje se spuštění kanálu. Typ události nerozlišuje velká a malá písmena. Například na následujícím snímku obrazovky aktivační událost odpovídá všem copycompleted událostem nebo copysucceeded událostem, které mají předmět, který začíná továrnami.

    Screenshot of Edit Trigger page to explain Event Types and Subject filtering in Data Factory UI.

  9. Trigger vlastní události může analyzovat a odesílat vlastní data datovou část do kanálu. Vytvoříte parametry kanálu a potom vyplníte hodnoty na stránce Parametry . Pomocí formátu @triggerBody().event.data._keyName_ parsujte datovou část a předejte hodnoty parametrům kanálu.

    Podrobné vysvětlení najdete v následujících článcích:

    Screenshot of pipeline parameters settings.

    Screenshot of the parameters page to reference data payload in custom event.

  10. Po zadání parametrů vyberte OK.

Rozšířené filtrování

Trigger vlastní události podporuje pokročilé možnosti filtrování, podobně jako rozšířené filtrování event Gridu. Tyto podmíněné filtry umožňují, aby se kanály aktivovaly na základě hodnot datové části události. Například můžete mít pole v datové části události s názvem Oddělení a kanál by se mělo aktivovat pouze v případě, že se oddělení rovná finance. Můžete také zadat složitou logiku, například pole kalendářního data v seznamu [1, 2, 3, 4, 5], pole měsíce, které není v seznamu [11, 12], pole značky obsahuje některý z ['Fiskální rok 2021', 'FiscalYear2021', 'FY2021'].

Screenshot of setting advanced filters for customer event trigger

Od dnešního dne vlastní aktivační událost podporuje podmnožinu pokročilých operátorů filtrování ve službě Event Grid. Podporují se následující podmínky filtru:

  • NumberIn
  • NumberNotIn
  • NumberLessThan
  • NumberGreaterThan
  • NumberLessThanOrEquals
  • NumberGreaterThanOrEquals
  • BoolEquals
  • StringContains
  • StringBeginsWith
  • StringEndsWith
  • StringIn
  • StringNotIn

Pokud chcete přidat nové podmínky filtru, vyberte +Nový .

Kromě toho vlastní triggery událostí dodržují stejná omezení jako Event Grid, včetně:

  • 5 rozšířených filtrů a 25 hodnot filtru napříč všemi filtry na trigger vlastní události
  • 512 znaků na řetězcovou hodnotu
  • 5 hodnot pro operátory in a ne v operátorech
  • v nich nesmí mít . znak (tečka), například john.doe@contoso.com. V současné době nejsou v klávesách podporovány řídicí znaky.
  • Stejný klíč lze použít ve více než jednom filtru.

Služba Data Factory spoléhá na nejnovější verzi ga rozhraní API služby Event Grid. Jakmile se nové verze rozhraní API dostanou do fáze ga, služba Data Factory rozšíří podporu pro pokročilejší operátory filtrování.

Schéma JSON

Následující tabulka obsahuje přehled prvků schématu, které souvisejí s vlastními triggery událostí:

Element JSON Popis Typ Povolené hodnoty Požaduje se
scope ID prostředku Azure Resource Manageru tématu Event Gridu String ID Azure Resource Manageru Ano
events Typ událostí, které způsobují aktivaci tohoto triggeru. Pole řetězců Ano, očekává se aspoň jedna hodnota.
subjectBeginsWith Pole subject musí začínat zadaným vzorem, aby se trigger aktivoval. Například továrny aktivují aktivační událost pouze pro předměty událostí, které začínají továrnami. Řetězcové No
subjectEndsWith Pole subject musí končit zadaným vzorem, aby se trigger aktivoval. Řetězcové No
advancedFilters Seznamobjektůch Každý objekt blob určuje key, operatorTypea values. Seznam objektů blob JSON No

Řízení přístupu na základě role

Azure Data Factory používá řízení přístupu na základě role (RBAC) Azure k zákazu neoprávněného přístupu. Aby služba Data Factory fungovala správně, vyžaduje přístup k:

  • Poslech událostí.
  • Přihlaste se k odběru aktualizací z událostí.
  • Aktivace kanálů propojených s vlastními událostmi

Pokud chcete úspěšně vytvořit nebo aktualizovat vlastní trigger události, musíte se přihlásit ke službě Data Factory pomocí účtu Azure, který má odpovídající přístup. Jinak operace selže s chybou Odepření přístupu.

Data Factory nevyžaduje speciální oprávnění k Event Gridu. Pro operaci také nemusíte přiřazovat speciální oprávnění role Azure RBAC k instančnímu objektu služby Data Factory.

Konkrétně potřebujete Microsoft.EventGrid/EventSubscriptions/Write oprávnění k /subscriptions/####/resourceGroups//####/providers/Microsoft.EventGrid/topics/someTopics.

  • Při vytváření v datové továrně (například ve vývojovém prostředí) musí mít přihlášený účet Azure výše uvedené oprávnění.
  • Při publikování prostřednictvím CI/CD musí mít účet použitý k publikování šablony ARM do testovací nebo produkční továrny výše uvedené oprávnění.