Sdílet prostřednictvím


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.

Triggery událostí ve službě Azure Data Factory umožňují automatizovat spouštění kanálů na základě konkrétních událostí, ke kterým dochází ve vašich zdrojích dat. Toto je klíčovou funkcí architektury řízené událostmi, která umožňuje integraci a zpracování dat v reálném čase.

Architektura řízená událostmi 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.

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. V opačném případě se zobrazí zpráva, ž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 volný formát, 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 zpráva, že výraz nelze vyhodnotit, protože keyName vlastnost neexistuje. V tomto případě se událost neaktivujepipeline run.

Případy použití událostí a triggerů

Triggery se dají aktivovat různými událostmi, mezi které patří:

Vytvoření objektu blob: Když se do zadaného kontejneru nahraje nový soubor. Odstraněný objekt blob: Když se soubor odebere z kontejneru. Změna objektu blob: Při aktualizaci existujícího souboru

Události můžete použít k dynamickému řízení spouštění kanálů. Například když se nový datový soubor nahraje do složky Příchozí ve službě Azure Blob Storage, trigger může automaticky spustit kanál pro zpracování dat a zajistit tak včasnou integraci dat.

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 Event Gridu a vytvořte téma sami. Další informace o tom, jak vytvořit vlastní téma, najdete v kurzech k portálu Event Grid a kurzech Azure CLI.

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í mají 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 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. V části Typ vyberte Vlastní události.

    Snímek obrazovky znázorňující vytvoření nového vlastního triggeru události v uživatelském rozhraní služby Data Factory

  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í aktivační událost ve službě Data Factory, musíte použít účet Azure s odpovídajícím řízením přístupu na základě role v Azure (Azure RBAC). Nevyžaduje se žádné jiné 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. Subject ends with Vlastnosti Subject begins with umožňují filtrovat události triggeru. 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ž vlastní událost s eventType vlastností 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.

    Snímek obrazovky se stránkou Upravit aktivační událost, která vysvětluje typy událostí a filtrování předmětu v uživatelském rozhraní služby Data Factory

  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 tady:

    Snímek obrazovky znázorňující nastavení parametrů kanálu

    Snímek obrazovky znázorňující stránku parametrů odkazování na datovou část ve vlastní události

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

Rozšířené filtrování

Triggery vlastních událostí podporují 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. Můžete mít například pole v datové části události s názvem Oddělení a kanál by se měl aktivovat jenom 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], a pokud pole značky obsahuje [Fiskální rok 2021, FiscalYear2021 nebo FY2021].

Snímek obrazovky znázorňující nastavení rozšířených filtrů pro trigger události zákazníka

V současné chvíli podporují vlastní triggery událostí 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ý .

Triggery vlastních událostí také dodržují stejná omezení jako Event Grid, například:

  • 5 rozšířených filtrů a 25 hodnot filtru ve všech filtrech na trigger vlastní události.
  • 512 znaků na řetězcovou hodnotu.
  • 5 hodnot pro in operátory a not in operátory.
  • Klíče v nich nemohou 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.

Data Factory spoléhá na nejnovější obecnou dostupnost (GA) verze rozhraní Event Grid API. Jakmile se nové verze rozhraní API dostanou do fáze ga, služba Data Factory rozšiřuje 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 aktivačními událostmi.

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. String Ne.
subjectEndsWith Pole subject musí končit zadaným vzorem, aby se trigger aktivoval. String Ne.
advancedFilters Seznamobjektůch Každý objekt blob určuje key, operatorTypea values. Seznam objektů blob JSON Ne.

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

Data Factory používá Azure RBAC 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 se zprávou Přístup byl odepřen.

Data Factory nevyžaduje speciální oprávnění k vaší instanci 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 předchozí oprávnění.
  • Když publikujete prostřednictvím kontinuální integrace a průběžného doručování, musí mít účet použitý k publikování šablony Azure Resource Manageru do testovací nebo produkční továrny předchozí oprávnění.