Vytvoření datového připojení služby Event Hubs pro Azure Data Explorer pomocí sad SDK
Azure Data Explorer nabízí příjem dat ze služby Event Hubs, platformu pro streamování velkých objemů dat a službu pro příjem událostí. Event Hubs může zpracovávat miliony událostí za sekundu téměř v reálném čase.
V tomto článku se připojíte k centru událostí a ingestujete data do Azure Data Exploreru. Přehled ingestování ze služby Event Hubs najdete v tématu Datové připojení služby Azure Event Hubs.
Informace o vytvoření připojení ve webovém uživatelském rozhraní Azure Data Exploreru, webu Azure Portal nebo pomocí šablony ARM najdete v tématu Vytvoření datového připojení služby Event Hubs.
Ukázky kódu založené na předchozích verzích sady SDK najdete v archivovaného článku.
Požadavky
- Předplatné Azure. Vytvořte bezplatný účet Azure.
- Cluster a databáze Azure Data Exploreru. Vytvořte cluster a databázi.
- Cílová tabulka. Vytvořte tabulku nebo použijte existující tabulku.
- Mapování příjmu dat pro tabulku.
- Centrum událostí s daty pro příjem dat.
Vytvoření datového připojení centra událostí
V této části vytvoříte propojení mezi centrem událostí a tabulkou Azure Data Exploreru. Pokud je toto připojení na místě, data se přenášejí z centra událostí do cílové tabulky. Pokud se centrum událostí přesune do jiného prostředku nebo předplatného, musíte připojení aktualizovat nebo znovu vytvořit.
Nainstalujte balíček NuGet Microsoft.Azure.Management.Kusto.
Vytvořte objekt zabezpečení aplikace Microsoft Entra, který se použije k ověřování. Potřebujete ID adresáře (tenanta), ID aplikace a tajný klíč klienta.
Spusťte následující kód.
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Directory (tenant) ID var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Application ID var clientSecret = "PlaceholderClientSecret"; //Client Secret var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret); var resourceManagementClient = new ArmClient(credentials, subscriptionId); var resourceGroupName = "testrg"; //The cluster and database that are created as part of the Prerequisites var clusterName = "mykustocluster"; var databaseName = "mykustodatabase"; var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync(); var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value; var cluster = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value; var database = (await cluster.GetKustoDatabaseAsync(databaseName)).Value; var dataConnections = database.GetKustoDataConnections(); var eventHubConnectionName = "myeventhubconnect"; //The event hub that is created as part of the Prerequisites var eventHubResourceId = new ResourceIdentifier("/subscriptions/<eventHubSubscriptionId>/resourceGroups/<eventHubResourceGroupName>/providers/Microsoft.EventHub/namespaces/<eventHubNamespaceName>/eventhubs/<eventHubName>"); var consumerGroup = "$Default"; var location = AzureLocation.CentralUS; //The table and column mapping are created as part of the Prerequisites var tableName = "StormEvents"; var mappingRuleName = "StormEvents_CSV_Mapping"; var dataFormat = KustoEventHubDataFormat.Csv; var compression = EventHubMessagesCompressionType.None; var databaseRouting = KustoDatabaseRouting.Multi; var eventHubConnectionData = new KustoEventHubDataConnection { EventHubResourceId = eventHubResourceId, ConsumerGroup = consumerGroup, Location = location, TableName = tableName, MappingRuleName = mappingRuleName, DataFormat = dataFormat, Compression = compression, DatabaseRouting = databaseRouting }; await dataConnections.CreateOrUpdateAsync(WaitUntil.Completed, eventHubConnectionName, eventHubConnectionData);
Nastavení Navrhovaná hodnota Popis pole tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID vašeho tenanta Označuje se také jako ID adresáře. subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID předplatného, které používáte k vytvoření prostředku. clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID klienta aplikace, která má přístup k prostředkům ve vašem tenantovi. clientSecret PlaceholderClientSecret Tajný klíč klienta aplikace, která má přístup k prostředkům ve vašem tenantovi. resourceGroupName testrg Název skupiny prostředků obsahující váš cluster. clusterName mykustocluster Název clusteru. databaseName mykustodatabase Název cílové databáze v clusteru dataConnectionName myeventhubconnect Požadovaný název datového připojení. tableName StormEvents Název cílové tabulky v cílové databázi. mappingRuleName StormEvents_CSV_Mapping Název mapování sloupců související s cílovou tabulkou. dataFormat csv Formát dat zprávy. eventHubResourceId ID prostředku ID prostředku vašeho centra událostí, které obsahuje data pro příjem dat. consumerGroup $Default Skupina příjemců vašeho centra událostí. location USA – střed Umístění prostředku datového připojení komprese gzip nebo None Typ komprese dat. databaseRouting Více nebo jednoúčelový Směrování databáze pro připojení. Pokud nastavíte hodnotu Single, datové připojení se směruje do izolované databáze v clusteru, jak je uvedeno v nastavení databaseName . Pokud nastavíte hodnotu na Více, můžete výchozí cílovou databázi přepsat pomocí vlastnosti Příjem dat databáze. Další informace naleznete v tématu Směrování událostí.
Odebrání datového připojení centra událostí
Pokud chcete odebrat připojení centra událostí, spusťte následující příkaz:
kustoManagementClient.DataConnections.Delete(resourceGroupName, clusterName, databaseName, dataConnectionName);
Související obsah
- Kontrola připojení k ukázkové aplikaci zpráv centra událostí
- Dotazování dat ve webovém uživatelském rozhraní