Datové připojení Event Gridu
Příjem dat ve službě Event Grid je kanál, který naslouchá službě Azure Storage a aktualizuje Azure Data Explorer, aby získal informace, když dojde k odbíraným událostem. Azure Data Explorer nabízí průběžný příjem dat ze služby Azure Storage (Blob Storage a ADLSv2) s Azure Event Grid předplatným pro oznámení o vytvoření objektu blob nebo přejmenování objektu blob a streamování těchto oznámení do Azure Data Explorer prostřednictvím Azure Event Hubs.
Kanál pro příjem dat Event Gridu prochází několika kroky. V Azure Data Explorer vytvoříte cílovou tabulku, do které se budou ingestovat data v konkrétním formátu. Pak vytvoříte datové připojení Event Gridu v Azure Data Explorer. Datové připojení Event Gridu potřebuje znát informace o směrování událostí , jako je tabulka, do které se mají data odeslat, a mapování tabulek. Zadáte také vlastnosti příjmu dat, které popisují data, která se mají ingestovat, cílovou tabulku a mapování. Pokud chcete otestovat připojení, můžete vygenerovat ukázková data a nahrát objekty blob nebo objekty blob přejmenovat . Po příjmu dat odstraňte objekty blob .
Příjem dat ve službě Event Grid je možné spravovat prostřednictvím Azure Portal, pomocí průvodce příjmem dat, programově s C# nebo Pythonem nebo pomocí šablony Azure Resource Manager.
Obecné informace o příjmu dat v Azure Data Explorer najdete v tématu Přehled příjmu dat v Azure Data Explorer.
Mechanismy ověřování datových připojení Azure Data Explorer
- Datové připojení založené na spravované identitě (doporučeno): Použití datového připojení založeného na spravované identitě je nejbezpečnější způsob připojení ke zdrojům dat. Poskytuje úplnou kontrolu nad možností načítat data ze zdroje dat.
Nastavení datového připojení pomocí spravované identity vyžaduje následující kroky:
- Přidejte do clusteru spravovanou identitu.
- Udělte spravovanou identitu ve zdroji dat oprávnění.
- Nastavte zásady spravované identity pro cílové databáze.
- Vytvořte datové připojení s využitím ověřování spravované identity pro načtení dat.
Upozornění
Pokud ze zdroje dat odeberete oprávnění spravované identity, datové připojení se zakáže a nebude možné načíst data ze zdroje dat.
- Datové připojení založené na klíčích: Pokud v datovém připojení není zadaná spravovaná identita, připojení se automaticky nastaví na ověřování založené na klíči. Připojení založená na klíčích načítají data pomocí připojovací řetězec prostředků, jako je Azure Event Hubs připojovací řetězec. Azure Data Explorer vygeneruje připojovací řetězec prostředku pro zadaný prostředek a bezpečně ho uloží do datového připojení. Připojovací řetězec se pak použije k načtení dat ze zdroje dat.
Upozornění
Pokud je klíč obměněný, datové připojení je zakázané a nemůže načíst data ze zdroje dat. Pokud chcete tento problém vyřešit, aktualizujte nebo znovu vytvořte datové připojení.
- Aby spravovaná instance načítá data z Azure Storage, měla by mít alespoň:
- Azure Event Hubs příjemce dat na Azure Event Hubs.
- Čtenář dat v objektech blob služby Storage v účtu služby Azure Storage.
Formát dat
- Projděte si podporované formáty.
- Projděte si podporované komprese.
- Původní nekomprimovaná velikost dat by měla být součástí metadat objektu blob, jinak ji Azure Data Explorer odhadne. Nekomprimovaná velikost příjmu dat na soubor je 6 GB.
Poznámka
Odběr oznámení Event Gridu je možné nastavit v účtech Azure Storage pro BlobStorage
, StorageV2
nebo Data Lake Storage Gen2.
Vlastnosti příjmu dat
Vlastnosti příjmu dat objektu blob můžete zadat prostřednictvím metadat objektů blob. Můžete nastavit následující vlastnosti:
Vlastnost | Popis |
---|---|
rawSizeBytes |
Velikost nezpracovaných (nekomprimovaných) dat V případě Avro/ORC/Parquet se jedná o velikost před tím, než se použije komprese specifická pro formát. Zadejte původní velikost dat nastavením této vlastnosti na nekomprimovanou velikost dat v bajtech. |
kustoDatabase |
Název cílové databáze rozlišující malá a velká písmena. Ve výchozím nastavení se data ingestují do cílové databáze přidružené k datovému připojení. Tato vlastnost slouží k přepsání výchozí databáze a odeslání dat do jiné databáze. Chcete-li to provést, musíte nejprve nastavit připojení jako připojení k více databázím. |
kustoTable |
Název existující cílové tabulky rozlišující malá a velká písmena. Table Přepíše nastavení v Data Connection podokně. |
kustoDataFormat |
Formát dat. Data format Přepíše nastavení v Data Connection podokně. |
kustoIngestionMappingReference |
Název existujícího mapování příjmu dat , které se má použít. Column mapping Přepíše nastavení v Data Connection podokně. |
kustoIgnoreFirstRecord |
Pokud je nastavená hodnota true , Kusto ignoruje první řádek objektu blob. Pokud chcete ignorovat záhlaví, použijte data v tabulkovém formátu (CSV, TSV nebo podobné). |
kustoExtentTags |
Řetězec představující značky , které budou připojeny k výslednému rozsahu. |
kustoCreationTime |
Přepíše dobu vytvoření rozsahu objektu blob formátovanou jako řetězec ISO 8601. Použijte pro doplňování. |
Směrování událostí
Při vytváření datového připojení ke clusteru zadáte směrování pro odesílání přijatých dat. Výchozí směrování je do cílové tabulky zadané v připojovací řetězec přidružené k cílové databázi. Výchozí směrování dat se také označuje jako statické směrování. Alternativní směrování dat můžete zadat pomocí vlastností dat událostí.
Směrování dat událostí do alternativní databáze
Směrování dat do alternativní databáze je ve výchozím nastavení vypnuté. Pokud chcete odesílat data do jiné databáze, musíte nejprve nastavit připojení jako připojení k více databázím. Můžete to udělat v Azure Portal, C#, Pythonu nebo šabloně ARM. Uživatel, skupina, instanční objekt nebo spravovaná identita, které umožňují směrování databáze, musí mít v clusteru alespoň roli přispěvatele a oprávnění k zápisu. Další informace najdete v tématu Vytvoření datového připojení Event Gridu pro Azure Data Explorer.
Pokud chcete zadat alternativní databázi, nastavte vlastnost Příjem databáze.
Upozornění
Zadání alternativní databáze bez nastavení připojení jako datového připojení s více databázemi způsobí selhání příjmu dat.
Směrování dat událostí do alternativní tabulky
Při nastavování připojení úložiště objektů blob ke clusteru Azure Data Explorer zadejte vlastnosti cílové tabulky:
- název tabulky
- formát dat
- mapování
Vlastnosti cílové tabulky můžete také zadat pro každý objekt blob pomocí metadat objektů blob. Data se budou dynamicky směrovat podle vlastností příjmu dat.
Následující příklad ukazuje, jak nastavit vlastnosti příjmu dat v metadatech objektů blob před jejich nahráním. Objekty blob se směrují do různých tabulek.
Kromě toho můžete zadat cílovou databázi. Datové připojení Event Gridu se vytváří v kontextu konkrétní databáze. Proto je tato databáze výchozím směrováním databáze datového připojení. Pokud chcete odesílat data do jiné databáze, nastavte vlastnost pro příjem dat KustoDatabase a datové připojení nastavte jako datové připojení s více databázemi. Směrování dat do jiné databáze je ve výchozím nastavení zakázané (není povoleno). Nastavení vlastnosti příjmu dat databáze, která se liší od databáze datového připojení, bez povolení směrování dat do více databází (nastavení připojení jako datového připojení s více databázemi), způsobí selhání příjmu dat.
Další informace najdete v tématu nahrávání objektů blob.
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>")));
Nahrání objektů blob
Můžete vytvořit objekt blob z místního souboru, nastavit vlastnosti příjmu dat na metadata objektu blob a nahrát ho. Příklady najdete v tématu Použití datového připojení Event Gridu.
Poznámka
- Důrazně doporučujeme použít
BlockBlob
ke generování dat, protože použitíAppendBlob
může vést k neočekávanému chování. - Použití sady SDK služby Azure Data Lake Storage Gen2 vyžaduje použití příkazu
CreateFile
k nahrání souborů aFlush
nakonec použití parametru close nastaveného natrue
hodnotu . Podrobný příklad správného využití sady Data Lake GEN2 SDK najdete v tématu Použití datového připojení Event Gridu. - Aktivace příjmu
CopyBlob
dat po operaci se nepodporuje u účtů úložiště, které mají povolenou funkci hierarchického oboru názvů. - Pokud koncový bod centra událostí nepotvrdí přijetí události, Azure Event Grid aktivuje mechanismus opakování. Pokud se doručení tohoto opakování nezdaří, může Event Grid doručit nedoručené události do účtu úložiště pomocí procesu nedoručených dopisů. Další informace najdete v tématu Doručování zpráv v Event Gridu a jejich opakování.
Přejmenování objektů blob
Při použití ADLSv2 můžete přejmenovat objekt blob, který aktivuje příjem objektů blob do Azure Data Explorer. Projděte si například téma Přejmenování objektů blob.
Poznámka
- Přejmenování adresáře je možné v ADLSv2, ale neaktivuje události přejmenované objekty blob a ingestování objektů blob uvnitř adresáře. Pokud chcete ingestovat objekty blob po přejmenování, přejmenujte přímo požadované objekty blob.
- Pokud jste při vytváření datového připojení nebo při ručním vytváření prostředků Event Gridu definovali filtry pro sledování konkrétních předmětů, použijí se tyto filtry na cestu k cílovému souboru.
Odstranění objektů blob pomocí životního cyklu úložiště
Azure Data Explorer po příjmu dat neodstraní objekty blob. Ke správě odstraňování objektů blob použijte životní cyklus služby Azure Blob Storage . Doporučuje se uchovávat objekty blob po dobu tří až pěti dnů.
Známé problémy se službou Event Grid
- Při použití Azure Data Explorer k exportu souborů používaných pro příjem dat ve službě Event Grid mějte na paměti:
- Oznámení Event Gridu se neaktivují,
abfss://filesystem@accountname.dfs.core.windows.net
pokud připojovací řetězec poskytnutý příkazu pro export nebo připojovací řetězec poskytnutý externí tabulce je připojovací řetězec ve formátu ADLS Gen2 (například ), ale účet úložiště není povolený pro hierarchický obor názvů. - Pokud pro účet není povolený hierarchický obor názvů, připojovací řetězec musí používat formát Blob Storage (například
https://accountname.blob.core.windows.net
). Export funguje podle očekávání i při použití připojovací řetězec ADLS Gen2, ale neaktivují se oznámení a nebude fungovat příjem dat ve službě Event Grid.
- Oznámení Event Gridu se neaktivují,
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro