Event Grid-adatkapcsolat
Az Event Grid-betöltés egy olyan folyamat, amely az Azure Storage-ot figyeli, és frissíti az Azure Data Explorert, hogy lekérje az adatokat az olyan események bekövetkezésekor, amelyekre feliratkozott. Az Azure Data Explorer folyamatos betöltést biztosít az Azure Storage-ból (Blob Storage és ADLSv2), Azure Event Grid-előfizetéssel a blobok által létrehozott vagy blob átnevezett értesítésekhez, és ezeket az értesítéseket egy Azure Event Hubs keresztül streameli az Azure Data Explorer.
Az Event Grid-betöltési folyamat több lépésen megy keresztül. Létre kell hoznia egy céltáblát az Azure Data Explorer, amelybe az adatok egy adott formátumban lesznek betöltve. Ezután létrehoz egy Event Grid-adatkapcsolatot az Azure Data Explorer. Az Event Grid-adatkapcsolatnak ismernie kell az események útválasztási adatait, például azt, hogy melyik táblába kell elküldeni az adatokat, illetve a táblaleképezést. Megadhatja a betöltési tulajdonságokat is, amelyek a betöltendő adatokat, a céltáblát és a leképezést írják le. Létrehozhat mintaadatokat, és feltölthet blobokat , vagy átnevezheti a blobokat a kapcsolat teszteléséhez. Blobok törlése a betöltés után.
Az Event Grid-betöltés a Azure Portal keresztül kezelhető a betöltési varázslóval, programozott módon c# vagy Python használatával, vagy az Azure Resource Manager sablonnal.
Az Azure Data Explorer adatbetöltésével kapcsolatos általános információkért lásd: Az Azure Data Explorer adatbetöltés áttekintése.
Az Azure Data Explorer adatkapcsolat hitelesítési mechanizmusai
-
Felügyelt identitásalapú adatkapcsolat (ajánlott): Felügyelt identitásalapú adatkapcsolat használata a legbiztonságosabb módja az adatforrásokhoz való csatlakozásnak. Teljes körű vezérlést biztosít az adatforrásból történő adatlekérési képesség felett.
Az adatkapcsolat felügyelt identitással történő beállításához a következő lépések szükségesek:
- Felügyelt identitás hozzáadása a fürthöz.
- Adjon engedélyeket a felügyelt identitásnak az adatforráson.
- Állítson be egy felügyelt identitásszabályzatot a céladatbázisokon.
- Hozzon létre egy adatkapcsolatot a felügyelt identitás hitelesítésével az adatok lekéréséhez.
Figyelemfelhívás
Ha a felügyelt identitás engedélyeit eltávolítja az adatforrásból, az adatkapcsolat le van tiltva, és nem tud adatokat lekérni az adatforrásból.
- Kulcsalapú adatkapcsolat: Ha nincs megadva felügyelt identitás az adatkapcsolatban, a kapcsolat automatikusan a kulcsalapú hitelesítésre lesz alapértelmezett. A kulcsalapú kapcsolatok erőforrás-kapcsolati karakterlánc, például a Azure Event Hubs kapcsolati karakterlánc használatával lekérik az adatokat. Az Azure Data Explorer létrehozza a megadott erőforrás erőforrás-kapcsolati karakterlánc, és biztonságosan menti azt az adatkapcsolatban. A kapcsolati karakterlánc ezután adatok lekérésére szolgál az adatforrásból.
Figyelemfelhívás
Ha a kulcs elforgatva van, az adatkapcsolat le van tiltva, és nem tud adatokat lekérni az adatforrásból. A probléma megoldásához frissítse vagy hozza létre újra az adatkapcsolatot.
- Annak, hogy a MI adatokat tud lekérni az Azure Storage-ból, legalább a következő adatokkal kell rendelkeznie:
- Azure Event Hubs adatfogadót a Azure Event Hubs.
- Storage Blob Data Reader az Azure Storage-fiókban.
Adatformátum
- Tekintse meg a támogatott formátumokat.
- Lásd : támogatott tömörítések.
- Az eredeti tömörítetlen adatméretnek a blob metaadatainak kell lennie, különben az Azure Data Explorer megbecsüli. A betöltetlen betöltési méret fájlonkénti korlátja 6 GB.
Megjegyzés
Az Event Grid értesítési előfizetése beállítható az Azure Storage-fiókokban BlobStorage
a , StorageV2
, vagy Data Lake Storage Gen2.
Betöltési tulajdonságok
A blobbetöltés betöltési tulajdonságait a blob metaadatain keresztül adhatja meg. A következő tulajdonságokat állíthatja be:
Tulajdonság | Leírás |
---|---|
rawSizeBytes |
A nyers (tömörítetlen) adatok mérete. Az Avro/ORC/Parquet esetében ez a méret a formátumspecifikus tömörítés alkalmazása előtt. Adja meg az eredeti adatméretet úgy, hogy ezt a tulajdonságot a tömörítetlen adatméretre állítja bájtban. |
kustoDatabase |
A céladatbázis kis- és nagybetűkre érzékeny neve. Alapértelmezés szerint az adatok az adatkapcsolathoz társított céladatbázisba kerülnek. Ezzel a tulajdonságkal felülbírálhatja az alapértelmezett adatbázist, és adatokat küldhet egy másik adatbázisba. Ehhez először többadatbázisos kapcsolatként kell beállítania a kapcsolatot. |
kustoTable |
A meglévő céltábla kis- és nagybetűkre érzékeny neve. Felülbírálja a Table panelen lévő készletet Data Connection . |
kustoDataFormat |
Adatformátum. Felülbírálja a Data format panelen lévő készletet Data Connection . |
kustoIngestionMappingReference |
A használni kívánt meglévő betöltési leképezés neve. Felülbírálja a Column mapping panelen lévő készletet Data Connection . |
kustoIgnoreFirstRecord |
Ha a értékre van true állítva, a Kusto figyelmen kívül hagyja a blob első sorát. Táblázatos formátumú adatok (CSV, TSV vagy hasonlók) használatával figyelmen kívül hagyhatja a fejléceket. |
kustoExtentTags |
Az eredményül kapott mértékhez csatolandó címkéket ábrázoló sztring. |
kustoCreationTime |
Felülbírálja a blobhoz tartozó, ISO 8601-sztringként formázott mértéklétrehozási időt . A visszatöltéshez használható. |
Események útválasztása
Amikor adatkapcsolatot hoz létre a fürthöz, meg kell adnia a betöltött adatok küldésének útvonalát. Az alapértelmezett útválasztás a céladatbázishoz társított kapcsolati karakterlánc megadott céltáblához tartozik. Az adatok alapértelmezett útválasztását statikus útválasztásnak is nevezik. Az eseményadatok tulajdonságaival alternatív útválasztást is megadhat az adatokhoz.
Eseményadatok átirányítása másik adatbázisba
Az adatok másik adatbázisba való átirányítása alapértelmezés szerint ki van kapcsolva. Ahhoz, hogy az adatokat egy másik adatbázisba küldje, először többadatbázisos kapcsolatként kell beállítania a kapcsolatot. Ezt a Azure Portal, C#, Python vagy ARM-sablonban teheti meg. Az adatbázis-útválasztás engedélyezéséhez használt felhasználónak, csoportnak, szolgáltatásnévnek vagy felügyelt identitásnak legalább közreműködői szerepkörrel és írási engedélyekkel kell rendelkeznie a fürtön. További információ: Event Grid-adatkapcsolat létrehozása az Azure Data Explorer számára.
Alternatív adatbázis megadásához állítsa be az Adatbázis-betöltési tulajdonságot.
Figyelmeztetés
Ha egy másik adatbázist úgy ad meg, hogy nem állítja be a kapcsolatot többadatbázisos adatkapcsolatként, a betöltés meghiúsul.
Eseményadatok átirányítása másik táblába
Ha blobtároló-kapcsolatot állít be az Azure Data Explorer-fürthöz, adja meg a céltábla tulajdonságait:
- tábla neve
- adatformátum
- Hozzárendelés
Az egyes blobok céltábla-tulajdonságait blob metaadataival is megadhatja. Az adatok dinamikusan, a betöltési tulajdonságok által meghatározott módon lesznek átirányítva.
Az alábbi példa bemutatja, hogyan állíthat be betöltési tulajdonságokat a blob metaadatain a feltöltés előtt. A blobok különböző táblákba vannak irányítva.
Emellett megadhatja a céladatbázist is. Az Event Grid-adatkapcsolat egy adott adatbázis környezetében jön létre. Ezért ez az adatbázis az adatkapcsolat alapértelmezett adatbázis-útválasztása. Ha egy másik adatbázisba szeretné küldeni az adatokat, állítsa be a "KustoDatabase" betöltési tulajdonságot, és állítsa be az adatkapcsolatot többadatbázisos adatkapcsolatként. Az adatok másik adatbázisba való átirányítása alapértelmezés szerint le van tiltva (nem engedélyezett). Ha olyan adatbázis-betöltési tulajdonságot állít be, amely különbözik az adatkapcsolat adatbázisétől anélkül, hogy engedélyezve van az adatátirányítás több adatbázisra (a kapcsolat többadatbázisos adatkapcsolatként való beállítása), a betöltés meghiúsul.
További információ: Blobok feltöltése.
var container = new BlobContainerClient("<storageAccountConnectionString>", "<containerName>");
await container.CreateIfNotExistsAsync();
var blob = container.GetBlobClient("<blobName>");
// Blob is dynamically routed to table `Events`, ingested using `EventsMapping` data mapping
await blob.SetMetadataAsync(
new Dictionary<string, string>
{
{ "rawSizeBytes", "4096" }, // the uncompressed size is 4096 bytes
{ "kustoTable", "Events" },
{ "kustoDataFormat", "json" },
{ "kustoIngestionMappingReference", "EventsMapping" },
{ "kustoDatabase", "AnotherDB" }
}
);
await blob.UploadAsync(BinaryData.FromString(File.ReadAllText("<filePath>")));
Blobok feltöltése
Létrehozhat egy blobot egy helyi fájlból, betöltési tulajdonságokat állíthat be a blob metaadataira, és feltöltheti azt. Példákért lásd: Az Event Grid-adatkapcsolat használata.
Megjegyzés
- Erősen javasoljuk, hogy használjon
BlockBlob
adatokat, mert a használatAppendBlob
váratlan viselkedést eredményezhet. - Az Azure Data Lake Gen2 Storage SDK használatához
CreateFile
fájlok feltöltéséhez,Flush
végül pedig a bezárás paraméter beállításáhoztrue
szükséges. Részletes példa a Data Lake Gen2 SDK helyes használatára: Az Event Grid-adatkapcsolat használata. - A művelet utáni
CopyBlob
betöltés aktiválása nem támogatott azon tárfiókok esetében, amelyeken engedélyezve van a hierarchikus névtér funkció. - Ha az eseményközpont végpontja nem nyugtáz egy esemény fogadását, Azure Event Grid aktivál egy újrapróbálkozási mechanizmust. Ha ez az újrapróbálkozási művelet sikertelen, az Event Grid kézbesítheti a kézbesítetlen eseményeket egy tárfiókba a kézbesítetlen levelek használatával. További információ: Event Grid-üzenetek kézbesítése és újrapróbálkozás.
Blobok átnevezése
Az ADLSv2 használatakor átnevezhet egy blobot, hogy blobbetöltést aktiváljon az Azure Data Explorer. Lásd például a blobok átnevezését.
Megjegyzés
- A címtár-átnevezés lehetséges az ADLSv2-ben, de nem aktiválja a blob átnevezett eseményeit és a blobok betöltését a címtárban. A blobok átnevezése után történő betöltéséhez nevezze át közvetlenül a kívánt blobokat.
- Ha szűrőket definiált bizonyos témák nyomon követéséhez az adatkapcsolat létrehozásakor vagy az Event Grid-erőforrások manuális létrehozásakor, ezek a szűrők a célfájl elérési útján lesznek alkalmazva.
Blobok törlése a tárolási életciklus használatával
Az Azure Data Explorer nem törli a blobokat a betöltés után. A blob törlésének kezelése az Azure Blob Storage életciklusával . Javasoljuk, hogy tartsa a blobokat 3-5 napig.
Ismert Event Grid-problémák
- Ha az Azure Data Explorer használatával exportálja az Event Grid-betöltéshez használt fájlokat, vegye figyelembe a következőt:
- Az Event Grid-értesítések nem aktiválódnak, ha kapcsolati karakterlánc az exportálási parancsnak vagy a külső táblának biztosított kapcsolati karakterlánc egy ADLS Gen2 formátumú összekötő sztring (például
abfss://filesystem@accountname.dfs.core.windows.net
), de a tárfiók nincs engedélyezve a hierarchikus névtérhez. - Ha a fiók nincs engedélyezve a hierarchikus névtérhez, kapcsolati karakterlánc Blob Storage formátumot kell használnia (például
https://accountname.blob.core.windows.net
). Az exportálás a várt módon működik az ADLS Gen2 kapcsolati karakterlánc használatakor is, de az értesítések nem aktiválódnak, és az Event Grid-betöltés nem fog működni.
- Az Event Grid-értesítések nem aktiválódnak, ha kapcsolati karakterlánc az exportálási parancsnak vagy a külső táblának biztosított kapcsolati karakterlánc egy ADLS Gen2 formátumú összekötő sztring (például