Folyamatokat tárolóeseményre válaszul futó eseményindító létrehozása
A következőkre vonatkozik: Azure Data Factory
Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Ez a cikk az Azure Data Factoryben vagy az Azure Synapse Analytics-folyamatokban létrehozható tárolási eseményindítókat ismerteti.
Az eseményvezérelt architektúra egy gyakori adatintegrációs minta, amely magában foglalja az éles üzemet, az észlelést, a felhasználást és az eseményekre való reagálást. Az adatintegrációs forgatókönyvek gyakran megkövetelik, hogy az ügyfelek olyan folyamatokat aktiváljanak, amelyeket egy Azure Storage-fiók eseményei aktiválnak, például egy fájl érkezését vagy törlését az Azure Blob Storage-fiókban. A Data Factory és az Azure Synapse Analytics-folyamatok natív módon integrálhatók az Azure Event Gridszel, így folyamatokat indíthat el az ilyen eseményeken.
A tárolási esemény eseményindítóinak szempontjai
A tárolási eseményindítók használatakor vegye figyelembe a következő szempontokat:
- A cikkben ismertetett integráció az Azure Event Gridtől függ. Győződjön meg arról, hogy az előfizetés regisztrálva van az Event Grid erőforrás-szolgáltatónál. További információkért lásd az erőforrás-szolgáltatókat és a típusaikat ismertető cikket. Meg kell tudnia csinálni a
Microsoft.EventGrid/eventSubscriptions/
műveletet. Ez a művelet aEventGrid EventSubscription Contributor
beépített szerepkör része. - Ha ezt a funkciót használja az Azure Synapse Analyticsben, győződjön meg arról, hogy előfizetését a Data Factory erőforrás-szolgáltatójánál is regisztrálja. Ellenkező esetben megjelenik egy üzenet, amely szerint "egy esemény-előfizetés létrehozása nem sikerült".
- Ha a Blob Storage-fiók egy privát végpont mögött található, és blokkolja a nyilvános hálózati hozzáférést, hálózati szabályokat kell konfigurálnia a Blob Storage és az Event Grid közötti kommunikáció engedélyezéséhez. Az Event Grid dokumentációját követve tárterület-hozzáférést biztosíthat a megbízható Azure-szolgáltatásokhoz, például az Event Gridhez, vagy konfigurálhatja a virtuális hálózati címtérre leképező Event Grid privát végpontjait az Event Grid dokumentációját követve.
- A tárolási eseményindító jelenleg csak az Azure Data Lake Storage Gen2 és az általános célú 2. verziójú tárfiókokat támogatja. Ha A Secure File Transfer Protocol (SFTP) tárolási eseményeivel dolgozik, a szűrési szakaszban is meg kell adnia az SFTP Data API-t. Az Event Grid korlátozása miatt a Data Factory csak tárfiókonként legfeljebb 500 táresemény-eseményindítót támogat.
- Új tárolási eseményindító létrehozásához vagy meglévő módosításához a szolgáltatásba való bejelentkezéshez és a táresemény-eseményindító közzétételéhez használt Azure-fióknak megfelelő szerepköralapú hozzáférés-vezérlési (Azure RBAC) engedéllyel kell rendelkeznie a tárfiókon. Nincs szükség más engedélyekre. Az Azure Data Factory és az Azure Synapse Analytics szolgáltatásnévnek nincs szüksége különleges engedélyre sem a tárfiókra, sem az Event Gridre. A hozzáférés-vezérléssel kapcsolatos további információkért tekintse meg a szerepköralapú hozzáférés-vezérlési szakaszt.
- Ha Azure Resource Manager-zárolást alkalmazott a tárfiókra, az hatással lehet a blob-eseményindító blobok létrehozására vagy törlésére. A
ReadOnly
zárolások a létrehozást és a törlést is megakadályozzák, míg a zárolások megakadályozzák a törléstDoNotDelete
. Győződjön meg arról, hogy figyelembe veszi ezeket a korlátozásokat, hogy elkerülje az eseményindítókkal kapcsolatos problémákat. - Nem javasoljuk, hogy a fájlbetöltési eseményindítók aktiváló mechanizmusként szolgálnak az adatfolyam-fogadóktól. Az adatfolyamok számos fájl átnevezési és partíciófájl-elosztási feladatot hajtanak végre a célmappában, amelyek véletlenül elindíthatnak egy fájl érkezési eseményt az adatok teljes feldolgozása előtt.
Eseményindító létrehozása a felhasználói felülettel
Ez a szakasz bemutatja, hogyan hozhat létre tárolási eseményindítót az Azure Data Factoryben és az Azure Synapse Analytics-folyamat felhasználói felületén (UI).
Váltson a Data Factory Szerkesztés lapjára vagy az Azure Synapse Analytics Integrálás lapjára.
A menüben válassza az Eseményindító, majd az Új/Szerkesztés lehetőséget.
Az Eseményindítók hozzáadása lapon válassza az Eseményindító kiválasztása, majd az + Új lehetőséget.
Válassza ki a Storage eseményindító típusát.
Válassza ki a tárfiókot az Azure-előfizetés legördülő listájából, vagy manuálisan a tárfiók erőforrás-azonosítójával. Válassza ki azt a tárolót, amelyen az eseményeket el szeretné végezni. A tároló kiválasztása kötelező, de az összes tároló kiválasztása sok eseményhez vezethet.
Blob path begins with
ABlob path begins with
tulajdonságok segítségével megadhatja azokat a tárolókat, mappákat és blobneveket, amelyekhez eseményeket szeretne fogadni. A tárolási eseményindítónak legalább egy ilyen tulajdonságot meg kell határoznia. Különböző mintákat használhat mindBlob path begins with
Blob path begins with
a tulajdonságokhoz, ahogy a cikk későbbi példáiban is látható.Blob path begins with
: A blob elérési útjának egy mappa elérési útjával kell kezdődnie. Az érvényes értékek a következők:2018/
és2018/april/shoes.csv
. Ez a mező nem jelölhető ki, ha nincs kijelölve tároló.Blob path begins with
: A blob elérési útjának fájlnévvel vagy kiterjesztéssel kell végződnie. Az érvényes értékek a következők:shoes.csv
és.csv
. A tároló- és mappaneveket, ha meg van adva, szegmensekkel/blobs/
kell elválasztani. Egy elnevezettorders
tároló például a következő értékkel/orders/blobs/2018/april/shoes.csv
rendelkezhet: . Ha bármely tárolóban meg szeretne adni egy mappát, hagyja ki a kezdő/
karaktert. Eseményt indít el példáulapril/shoes.csv
egy tetszőleges tárolóban lévő mappában elnevezettapril
shoes.csv
fájlon.
Vegye figyelembe, hogy
Blob path begins with
Blob path ends with
a tárolási eseményindítókban csak a mintaegyezés engedélyezett. Az eseményindító típusa nem támogatja az egyéb helyettesítő karakterek egyeztetését.Válassza ki, hogy az eseményindító válaszol-e egy Blob által létrehozott eseményre, egy Blob által törölt eseményre vagy mindkettőre. A megadott tárolási helyen minden esemény aktiválja az eseményindítóhoz társított Data Factory- és Azure Synapse Analytics-folyamatokat.
Adja meg, hogy az eseményindító figyelmen kívül hagyja-e a nulla bájtot tartalmazó blobokat.
Az eseményindító konfigurálása után válassza a Tovább: Adatelőnézet lehetőséget. Ezen a képernyőn a tárolóesemény-eseményindító konfigurációjának megfelelő meglévő blobok láthatók. Győződjön meg arról, hogy adott szűrőkkel rendelkezik. A túl széles szűrők konfigurálása számos létrehozott vagy törölt fájlnak felelhet meg, és jelentősen befolyásolhatja a költségeket. A szűrőfeltételek ellenőrzése után válassza a Befejezés lehetőséget.
Ha egy folyamatot szeretne csatolni ehhez az eseményindítóhoz, lépjen a folyamatvászonra, és válassza az Trigger New/Edit lehetőséget>. Amikor megjelenik az oldalpanel, válassza az Eseményindító kiválasztása legördülő listát, és válassza ki a létrehozott eseményindítót. Válassza a Tovább elemet : Az adatok előnézete lehetőséget választva ellenőrizheti, hogy a konfiguráció helyes-e. Ezután válassza a Tovább lehetőséget annak ellenőrzéséhez, hogy az adatok előnézete helyes-e.
Ha a folyamat paraméterekkel rendelkezik, az Eseményindító futtatási paraméterei oldalpanelen adhatja meg őket. A tárolási eseményindító rögzíti a blob mappa elérési útját és fájlnevét a tulajdonságokba
@triggerBody().folderPath
és@triggerBody().fileName
a . A tulajdonságok folyamatbeli értékeinek használatához le kell képeznie a tulajdonságokat a folyamatparaméterekre. Miután a tulajdonságokat paraméterekre képezte le, a folyamat során a kifejezésen keresztül@pipeline().parameters.parameterName
elérheti az eseményindító által rögzített értékeket. Részletes magyarázatért tekintse meg a folyamatok referencia-eseményindító metaadatait.Az előző példában az eseményindító úgy van konfigurálva, hogy aktiváljon, amikor egy .csv végződő blobútvonal jön létre a tároló mintaadataiban található mappaesemény-tesztelésben. A
folderPath
tulajdonságok rögzítikfileName
az új blob helyét. Ha például MoviesDB.csv hozzáadva az elérési út mintaadat-adataihoz/eseményteszteléséhez,@triggerBody().folderPath
annak értékesample-data/event-testing
és@triggerBody().fileName
értékemoviesDB.csv
. Ezek az értékek a példában a folyamat paramétereiresourceFolder
vannak leképezve, éssourceFile
amelyek a folyamat egészében használhatók, és@pipeline().parameters.sourceFolder
amelyek a következőképpen és@pipeline().parameters.sourceFile
az alatt is használhatók.Miután végzett, válassza a Befejezés lehetőséget.
JSON-séma
Az alábbi táblázat áttekintést nyújt a tárolási eseményindítókhoz kapcsolódó sémaelemekről.
JSON-elem | Leírás | Típus | Megengedett értékek | Kötelező |
---|---|---|---|---|
hatálya | A tárfiók Azure Resource Manager-erőforrás-azonosítója. | Sztring | Azure Resource Manager-azonosító | Igen. |
események | Az eseményindítót kiváltó események típusa. | Tömb | Microsoft.Storage.BlobCreated , Microsoft.Storage.BlobDeleted |
Igen, az értékek bármilyen kombinációja. |
blobPathBeginsWith |
A blob elérési útjának a trigger indításához megadott mintával kell kezdődnie. Például /records/blobs/december/ csak a tároló alatti mappában lévő december blobok eseményindítója aktiválódik records . |
Sztring | Adjon meg egy értéket legalább egy ilyen tulajdonsághoz: blobPathBeginsWith vagy blobPathEndsWith . |
|
blobPathEndsWith |
A blob elérési útjának az eseményindító indításához megadott mintával kell végződnie. Például december/boxes.csv csak egy mappában elnevezett boxes blobok esetén aktiválja az eseményindítót december . |
Sztring | Adjon meg egy értéket legalább egy ilyen tulajdonsághoz: blobPathBeginsWith vagy blobPathEndsWith . |
|
ignoreEmptyBlobs |
Azt jelzi, hogy a nulla bájtos blobok elindítanak-e folyamatfuttatást. Alapértelmezés szerint ez a beállítás a következőre true van állítva: . |
Logikai | igaz vagy hamis | Szám |
Példák tárolási eseményindítókra
Ez a szakasz példákat tartalmaz a tárolási eseményindító beállításaira.
Fontos
Az elérési út szegmensét az alábbi példák szerint kell megadnia /blobs/
, amikor tárolót és mappát, tárolót és fájlt, vagy tárolót, mappát és fájlt ad meg. Ehhez blobPathBeginsWith
a felhasználói felület automatikusan hozzáadódik /blobs/
a mappa és a tároló neve között az eseményindító JSON-ban.
Tulajdonság | Példa | Leírás |
---|---|---|
Blob path begins with |
/containername/ |
Eseményeket fogad a tárolóban lévő blobokhoz. |
Blob path begins with |
/containername/blobs/foldername/ |
A tárolóban és foldername mappában containername lévő blobok eseményeit fogadja. |
Blob path begins with |
/containername/blobs/foldername/subfoldername/ |
Almappára is hivatkozhat. |
Blob path begins with |
/containername/blobs/foldername/file.txt |
Eseményeket fogad a tároló alatti containername mappában foldername elnevezett file.txt blobhoz. |
Blob path ends with |
file.txt |
Eseményeket fogad egy tetszőleges elérési úton elnevezett file.txt blobhoz. |
Blob path ends with |
/containername/blobs/file.txt |
A tároló containername alatt elnevezett file.txt blob eseményeit fogadja. |
Blob path ends with |
foldername/file.txt |
Eseményeket fogad egy olyan blobhoz, amely a foldername tároló alatti mappában van elnevezvefile.txt . |
Szerepköralapú hozzáférés-vezérlés
A Data Factory és az Azure Synapse Analytics-folyamatok azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) biztosítják, hogy szigorúan tilos a blobeseményekhez kapcsolódó frissítésekhez, frissítésekre feliratkozni és folyamatokat aktiválni.
- Új tárolási eseményindító sikeres létrehozásához vagy meglévő frissítéséhez a szolgáltatásba bejelentkezett Azure-fióknak megfelelő hozzáféréssel kell rendelkeznie a megfelelő tárfiókhoz. Ellenkező esetben a művelet a "Hozzáférés megtagadva" üzenettel meghiúsul.
- A Data Factorynek és az Azure Synapse Analyticsnek nincs szüksége különleges engedélyre az Event Grid-példányhoz, és nem kell külön RBAC-engedélyt rendelnie a Data Factoryhez vagy az Azure Synapse Analytics szolgáltatásnévhez a művelethez.
A következő RBAC-beállítások bármelyike működik a tárolási eseményindítók esetében:
- Tulajdonosi szerepkör a tárfiókban
- Közreműködői szerepkör a tárfiókhoz
Microsoft.EventGrid/EventSubscriptions/Write
a tárfiókra vonatkozó engedély/subscriptions/####/resourceGroups/####/providers/Microsoft.Storage/storageAccounts/storageAccountName
Ezek konkrétan a következők:
- Amikor az adat-előállítóban (például a fejlesztői környezetben) hoz létre, a bejelentkezett Azure-fióknak rendelkeznie kell az előző engedéllyel.
- Ha folyamatos integrációval és folyamatos teljesítéssel teszi közzé a közzétételt, az Azure Resource Manager-sablon tesztelési vagy éles üzemben való közzétételéhez használt fióknak rendelkeznie kell az előző engedéllyel.
Annak megértéséhez, hogy a szolgáltatás hogyan teljesíti a két ígéretet, tegyünk egy lépést hátra, és kukkáljunk a színfalak mögött. Az alábbiakban a Data Factory/Azure Synapse Analytics, a Storage és az Event Grid közötti integráció magas szintű munkafolyamatait találja.
Új tárolási eseményindító létrehozása
Ez a magas szintű munkafolyamat azt ismerteti, hogyan működik együtt a Data Factory az Event Griddel egy tárolási eseményindító létrehozásához. Az adatfolyam ugyanaz az Azure Synapse Analyticsben, az Azure Synapse Analytics-folyamatok az alábbi ábrán az adat-előállító szerepét veszik át.
Két észrevehető ábrafelirat a munkafolyamatokból:
- A Data Factory és az Azure Synapse Analytics nem létesít közvetlen kapcsolatot a tárfiókkal. Az előfizetés létrehozására vonatkozó kérést az Event Grid továbbítja és dolgozza fel. A szolgáltatásnak nincs engedélye a tárfiók eléréséhez ehhez a lépéshez.
- A hozzáférés-vezérlés és az engedélyek ellenőrzése a szolgáltatáson belül történik. Mielőtt a szolgáltatás kérést küld egy tárolási eseményre való feliratkozásra, ellenőrzi a felhasználó engedélyét. Pontosabban azt ellenőrzi, hogy a bejelentkezett Azure-fiók és a tárolási eseményindító létrehozása megkísérli-e a megfelelő hozzáférést a megfelelő tárfiókhoz. Ha az engedélyellenőrzés sikertelen, az eseményindító létrehozása is meghiúsul.
Storage-eseményindító folyamat futtatása
Ez a magas szintű munkafolyamat leírja, hogyan futnak a tárolási eseményindító folyamatok az Event Griden keresztül. Az Azure Synapse Analytics esetében az adatfolyam ugyanaz, az Azure Synapse Analytics-folyamatok pedig a Data Factory szerepét veszik át az alábbi ábrán.
A munkafolyamatban három észrevehető ábrafelirat kapcsolódik a szolgáltatáson belüli eseményindító folyamatokhoz:
Az Event Grid egy leküldéses modellt használ, amely a lehető leghamarabb továbbítja az üzenetet, amikor a tároló az üzenetet a rendszerbe dobja. Ez a megközelítés eltér az olyan üzenetkezelő rendszerektől, mint a Kafka, ahol lekéréses rendszert használnak.
Az eseményindító aktív figyelőként szolgál a bejövő üzenethez, és megfelelően aktiválja a társított folyamatot.
Maga a tárolási eseményindító nem létesít közvetlen kapcsolatot a tárfiókkal.
- Ha a folyamaton belül Copy tevékenység vagy más tevékenységgel dolgoz fel adatokat a tárfiókban, a szolgáltatás közvetlen kapcsolatot létesít a tárfiókkal a társított szolgáltatásban tárolt hitelesítő adatok használatával. Győződjön meg arról, hogy a társított szolgáltatás megfelelően van beállítva.
- Ha nem hivatkozik a folyamatban lévő tárfiókra, nem kell engedélyt adnia a szolgáltatásnak a tárfiók eléréséhez.
Kapcsolódó tartalom
- Az eseményindítókkal kapcsolatos további információkért lásd a folyamat végrehajtását és az eseményindítókat.
- A folyamat eseményindító metaadataira való hivatkozáshoz tekintse meg a folyamatfuttatások eseményindítóinak metaadatait ismertető témakört.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: