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

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.

Adatformátum

Megjegyzés

Az Event Grid értesítési előfizetése beállítható az Azure Storage-fiókokban BlobStoragea , 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álat AppendBlob 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ához trueszü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.