Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO:
Azure Data Factory
Azure Synapse Analytics
Návod
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 datovou vědu, analýzy v reálném čase, business intelligence a zprávy. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Tento článek popisuje triggery událostí úložiště, které můžete vytvořit v kanálech Azure Data Factory nebo Azure Synapse Analytics.
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 aktivovali kanály, které se aktivují z událostí v účtu služby Azure Storage, jako je například doručení nebo odstranění souboru v účtu služby Azure Blob Storage. Kanály Data Factory a Azure Synapse Analytics se nativně integrují se službou Azure Event Grid, což umožňuje aktivovat kanály na takových událostech.
Důležité informace o triggerech událostí úložiště
Při použití spouštěčů událostí úložiště zvažte následující body:
- 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 akci
Microsoft.EventGrid/eventSubscriptions/provést. Tato akce je součástíEventGrid EventSubscription Contributorpředdefinované role. - Pokud tuto funkci používáte ve službě Azure Synapse Analytics, ujistěte se, že jste také zaregistrovali své předplatné 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 se účet Blob Storage nachází za privátním koncovým bodem a blokuje přístup k veřejné síti, musíte nakonfigurovat pravidla sítě tak, aby umožňovala komunikaci ze služby Blob Storage do Event Gridu. Můžete buď udělit přístup k úložišti důvěryhodným službám Azure, jako je Event Grid, podle dokumentace k úložišti, nebo nakonfigurovat privátní koncové body pro Event Grid, které se mapují na adresní prostor virtuální sítě, podle dokumentace ke službě Event Grid.
- Spouštěč události úložiště aktuálně podporuje pouze účty Azure Data Lake Storage Gen2 a úložiště verze 2 pro obecné účely. Pokud pracujete s událostmi úložiště protokolu SFTP (Secure File Transfer Protocol), musíte také v části filtrování zadat rozhraní SFTP Data API. Kvůli omezení služby Event Grid služba Data Factory podporuje pouze maximálně 500 aktivačních událostí úložiště pro každý účet úložiště.
- Pokud chcete vytvořit novou aktivační událost úložiště nebo upravit existující, musí mít účet Azure, který používáte k přihlášení ke službě a publikování události úložiště, odpovídající oprávnění pro řízení přístupu na základě role (Azure RBAC) na účtu úložiště. Nejsou vyžadována žádná další oprávnění. Instanční objekt služby Azure Data Factory a Azure Synapse Analytics nepotřebuje speciální oprávnění k účtu úložiště ani ke službě Event Grid. Další informace o řízení přístupu najdete v části Řízení přístupu na základě role.
- Pokud jste u účtu úložiště použili zámek Azure Resource Manageru, může to mít vliv na schopnost triggeru objektu blob vytvářet nebo odstraňovat objekty blob.
ReadOnlyZámek zabraňuje vytvoření i odstranění, zatímcoDoNotDeletezámek brání odstranění. Ujistěte se, že zohledníte tato omezení, abyste se vyhnuli jakýmkoli problémům s aktivačními událostmi. - Nedoporučujeme používat spouštěče přijetí souborů jako spouštěcí mechanismus z výstupů toků dat. Procesy toku dat vykonávají různorodé úlohy přejmenovávání souborů a přeskupování souborů v cílové složce, které mohou neúmyslně spustit událost přijetí souboru před úplným zpracováním vašich dat.
Vytvoření triggeru pomocí uživatelského rozhraní
V této části se dozvíte, jak vytvořit událostní spouštěč úložiště v uživatelském rozhraní Azure Data Factory a Azure Synapse Analytics.
Přepněte na kartu Upravit ve službě Data Factory nebo na kartě Integrace ve službě Azure Synapse Analytics.
V nabídce vyberte Aktivační událost a pak vyberte Nový/Upravit.
Na stránce Přidat spouštěče vyberte Vybrat spouštěč a pak vyberte + Nový spouštěč.
Vyberte typ triggeru události úložiště.
V rozevíracím seznamu předplatného Azure vyberte svůj účet úložiště, nebo ho zadejte ručně pomocí ID prostředku účtu úložiště. Zvolte kontejner, u kterého chcete události nastat. Výběr kontejneru je povinný, ale výběr všech kontejnerů může vést k velkému počtu událostí.
Blob path begins withVlastnostiBlob path ends withumožňují zadat kontejnery, složky a názvy objektů blob, pro které chcete přijímat události. Aktivační událost úložiště vyžaduje, aby byla definována alespoň jedna z těchto vlastností. Pro oběBlob path begins withaBlob path ends withvlastnosti můžete použít různé vzory, jak je znázorněno v příkladech dále v tomto článku.-
Blob path begins with: Cesta k objektu blob musí začínat cestou složky. Platné hodnoty zahrnují2018/a2018/april/shoes.csv. Toto pole nelze vybrat, pokud není vybraný kontejner. -
Blob path ends with: Cesta k objektu blob musí končit názvem souboru nebo příponou. Platné hodnoty zahrnujíshoes.csva.csv. Názvy kontejnerů a složek, pokud jsou zadány, musí být oddělené segmentem/blobs/. Kontejner s názvemordersmůže mít například hodnotu/orders/blobs/2018/april/shoes.csv. Chcete-li zadat složku v libovolném kontejneru, vynecháte úvodní/znak. Napříkladapril/shoes.csvaktivuje událost u libovolného souboru pojmenovanéhoshoes.csvve složce volanéaprilv libovolném kontejneru.
Všimněte si, že
Blob path begins withaBlob path ends withjsou jediným povoleným porovnáním vzorů v triggeru události úložiště. Jiné typy porovnávání zástupných znaků nejsou pro typ spouště podporovány.-
Vyberte, jestli trigger reaguje na událost vytvořenou objektem blob, událost odstraněnou objektem blob nebo obojí. V zadaném umístění úložiště každá událost aktivuje kanály Data Factory a Azure Synapse Analytics přidružené k triggeru.
Vyberte, jestli trigger ignoruje objekty blob s nulovými bajty.
Po nakonfigurování triggeru vyberte Další: Náhled dat. Tato obrazovka zobrazuje existující blob objekty, které odpovídají nastavení spouštěcí události úložiště. Ujistěte se, že máte konkrétní filtry. Konfigurace filtrů, které jsou příliš široké, se můžou shodovat s velkým počtem vytvořených nebo odstraněných souborů a můžou výrazně ovlivnit vaše náklady. Po ověření podmínek filtru vyberte Dokončit.
Pokud chcete k tomuto triggeru připojit pipeline, přejděte na plátno pipeline a vyberte Trigger>Nový/Upravit. Jakmile se zobrazí boční podokno, vyberte rozevírací seznam Zvolit aktivační událost a vyberte trigger, který jste vytvořili. Vyberte Další: Náhled dat a potvrďte správnost konfigurace. Potom výběrem možnosti Další ověřte správnost náhledu dat.
Pokud váš kanál obsahuje parametry, můžete je zadat v bočním podokně Parametry spouštěče. Trigger události úložiště zachycuje cestu ke složce a název souboru objektu blob do vlastností
@triggerBody().folderPatha@triggerBody().fileName. Pokud chcete použít hodnoty těchto vlastností v kanálu, musíte vlastnosti namapovat na parametry kanálu. Po namapování vlastností na parametry můžete přistupovat k hodnotám zachyceným spouštěčem pomocí výrazu@pipeline().parameters.parameterNamev celém zpracovatelském toku. Podrobné vysvětlení najdete v tématu Referenční metadata triggeru v pipelinách.
V předchozím příkladu je trigger nakonfigurovaný tak, aby se aktivoval, když se v ukázkových datech kontejneru vytvoří cesta k objektu blob končící na .csv ve složce pro testování událostí.
folderPathafileNamevlastnosti zachycují umístění nového objektu blob. Například při přidání MoviesDB.csv do cesty sample-data/event-testing@triggerBody().folderPathmá hodnotusample-data/event-testinga@triggerBody().fileNamemá hodnotumoviesDB.csv. Tyto hodnoty se v příkladu mapují na parametrysourceFolderasourceFile, které lze používat v celém potrubí jako@pipeline().parameters.sourceFoldera@pipeline().parameters.sourceFilev daném pořadí.Po dokončení vyberte Dokončit.
Schéma JSON
Následující tabulka obsahuje přehled prvků schématu, které souvisejí s triggery událostí úložiště.
| Element JSON | Popis | Typ | Povolené hodnoty | Požaduje se |
|---|---|---|---|---|
| rozsah | ID prostředku Azure Resource Manageru účtu úložiště. | Řetězec | ID správce prostředků Azure | Ano. |
| události | Typ událostí, které způsobují aktivaci tohoto triggeru. | Pole |
Microsoft.Storage.BlobCreated, Microsoft.Storage.BlobDeleted |
Ano, libovolná kombinace těchto hodnot. |
blobPathBeginsWith |
Cesta k blobu musí začínat vzorem zadaným pro spuštění spouštěče. Například /records/blobs/december/ spouští akci pouze pro objekty blob ve složce december uvnitř kontejneru records. |
Řetězec | Zadejte hodnotu alespoň jedné z těchto vlastností: blobPathBeginsWith nebo blobPathEndsWith. |
|
blobPathEndsWith |
Cesta k blobu musí končit zadaným vzorem, aby byl trigger spuštěn. Například december/boxes.csv aktivuje aktivační událost pouze pro objekty blob pojmenované boxes ve december složce. |
Řetězec | Zadejte hodnotu alespoň jedné z těchto vlastností: blobPathBeginsWith nebo blobPathEndsWith. |
|
ignoreEmptyBlobs |
Bez ohledu na to, jestli objekty blob s nulovým bajtem aktivují běh pipeline. Ve výchozím nastavení je tato možnost nastavena na truehodnotu . |
Logická hodnota | pravda nebo nepravda | Ne. |
Příklady triggerů událostí úložiště
Tato část obsahuje příklady nastavení spouštěče událostí úložiště.
Důležité
Musíte zahrnout /blobs/ segment cesty, jak je znázorněno v následujících příkladech, kdykoli zadáte kontejner a složku, kontejner a soubor nebo kontejner, složku a soubor. Uživatelské rozhraní automaticky přidá blobPathBeginsWith mezi složku a název kontejneru v JSON souboru spouštěče.
| Vlastnost | Příklad | Popis |
|---|---|---|
Blob path begins with |
/containername/ |
Přijímá události všech typů pro všechny objekty blob v kontejneru. |
Blob path begins with |
/containername/blobs/foldername/ |
Přijímá události pro všechny objekty blob v kontejneru containername a foldername složce. |
Blob path begins with |
/containername/blobs/foldername/subfoldername/ |
Můžete také odkazovat na podsložku. |
Blob path begins with |
/containername/blobs/foldername/file.txt |
Přijímá události pro objekt blob pojmenovaný file.txt ve složce foldername uvnitř kontejneru containername. |
Blob path ends with |
file.txt |
Přijímá události pro blob pojmenovaný file.txt na libovolné cestě. |
Blob path ends with |
/containername/blobs/file.txt |
Přijímá události pro objekt blob pojmenovaný file.txt v kontejneru containername. |
Blob path ends with |
foldername/file.txt |
Přijímá události pro objekt blob pojmenovaný file.txt ve složce foldername v libovolném kontejneru. |
Řízení přístupu na základě role
Kanály Data Factory a Azure Synapse Analytics používají řízení přístupu na základě role v Azure (Azure RBAC), aby se zajistilo, že je přísně zakázaný neoprávněný přístup k naslouchání, přihlášení k odběru aktualizací a aktivaci kanálů propojených s událostmi objektů blob.
- Pokud chcete úspěšně vytvořit novou aktivační událost úložiště nebo aktualizovat existující, musí mít účet Azure přihlášený ke službě odpovídající přístup k příslušnému účtu úložiště. Jinak operace selže se zprávou Přístup byl odepřen.
- Data Factory a Azure Synapse Analytics nepotřebují žádná zvláštní oprávnění k vaší instanci Event Gridu a pro operaci nemusíte přiřazovat speciální oprávnění RBAC k instančnímu objektu služby Data Factory nebo Azure Synapse Analytics.
Pro triggery událostí úložiště fungují některá z následujících nastavení RBAC:
- Role vlastníka účtu úložiště
- Role přispěvatele k účtu úložiště
-
Microsoft.EventGrid/EventSubscriptions/Writeoprávnění k účtu úložiště/subscriptions/####/resourceGroups/####/providers/Microsoft.Storage/storageAccounts/storageAccountName
Konkrétně:
- 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í.
Abychom pochopili, jak služba poskytuje dva přísliby, pojďme se vrátit zpět a podívat se na pozadí. Tady jsou základní pracovní postupy pro integraci mezi Data Factory nebo Azure Synapse Analytics, úložištěm a Event Gridem.
Vytvořit nový spouštěč událostí úložiště
Tento pracovní postup vysoké úrovně popisuje, jak služba Data Factory komunikuje se službou Event Grid k vytvoření triggeru události úložiště. Tok dat je stejný ve službě Azure Synapse Analytics, přičemž kanály Azure Synapse Analytics přebírají roli datové továrny v následujícím diagramu.
Dvě znatelné poznámky z pracovních postupů:
- Data Factory a Azure Synapse Analytics nemají přímý kontakt s účtem úložiště. Žádost o vytvoření odběru se místo toho předá a zpracuje službou Event Grid. Služba pro tento krok nepotřebuje žádné oprávnění pro přístup k účtu úložiště.
- Řízení přístupu a kontrola oprávnění probíhají v rámci služby. Než služba odešle žádost o přihlášení k odběru události úložiště, zkontroluje oprávnění uživatele. Konkrétně kontroluje, zda má přihlášený účet Azure, který se pokouší vytvořit spouštěč události úložiště, odpovídající přístup k příslušnému účtu úložiště. Pokud kontrola oprávnění selže, vytvoření triggeru také selže.
Spuštění potrubí spouštěče události úložiště
Tento pracovní postup vysoké úrovně popisuje, jak potrubí spouštěčů událostí v úložišti běží prostřednictvím systému Event Grid. U Azure Synapse Analytics je tok dat stejný, přičemž potrubí Azure Synapse Analytics v následujícím diagramu přebírají roli Data Factory.
Tři znatelné upozornění v pracovním postupu souvisejí s procesy vyvolávajícími události v rámci služby.
Event Grid používá push model, který zprávu předává co nejdříve, když úložiště zprávu vloží do systému. Tento přístup se liší od systému zasílání zpráv, například Kafka, kde se používá pull systém.
Trigger události slouží jako aktivní posluchač příchozím zprávám a správně spouští přidruženou pipelinu.
Samotná aktivační událost úložiště nespustí přímý kontakt s účtem úložiště.
- Pokud máte v kanálu kopírovací aktivitu nebo jinou aktivitu ke zpracování dat v účtu úložiště, služba naváže přímé spojení s účtem úložiště pomocí přihlašovacích údajů uložených v propojené službě. Ujistěte se, že je propojená služba správně nastavená.
- Pokud v datovém toku neodkazujete na účet úložiště, nemusíte službě udělit oprávnění pro přístup k účtu úložiště.
Související obsah
- Další informace o triggerech najdete v části Spouštění kanálů a triggery.
- Pokud chcete odkazovat na metadata triggeru v pipeline, viz téma Odkaz na metadata triggeru při spuštění pipeline.