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

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.

  1. Nainstalujte balíček NuGet Microsoft.Azure.Management.Kusto.

  2. 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.

  3. 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);