Condividi tramite


Creare una connessione dati di Hub eventi per Azure Esplora dati con SDK

Azure Esplora dati offre l'inserimento da Hub eventi, una piattaforma di streaming di Big Data e un servizio di inserimento di eventi. Hub eventi può elaborare milioni di eventi al secondo quasi in tempo reale.

In questo articolo ci si connette a un hub eventi e si inseriscono dati in Azure Esplora dati. Per una panoramica sull'inserimento da Hub eventi, vedere Hub eventi di Azure connessione dati.

Per informazioni su come creare la connessione nell'interfaccia utente Web di Azure Esplora dati, portale di Azure o con un modello di Resource Manager, vedere Creare una connessione dati di Hub eventi.

Per esempi di codice basati sulle versioni precedenti dell'SDK, vedere l'articolo archiviato.

Prerequisiti

Creare una connessione dati dell'hub eventi

In questa sezione viene stabilita una connessione tra l'hub eventi e la tabella Esplora dati di Azure. Finché questa connessione è stata stabilita, i dati vengono trasmessi dall'hub eventi nella tabella di destinazione. Se l'hub eventi viene spostato in una risorsa o una sottoscrizione diversa, è necessario aggiornare o ricreare la connessione.

  1. Installare il pacchetto Microsoft.Azure.Management.Kusto NuGet.

  2. Creare un'entità applicazione Microsoft Entra da usare per l'autenticazione. Sono necessari l'ID directory (tenant), l'ID applicazione e il segreto client.

  3. Eseguire il codice seguente.

    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);
    
    Impostazione Valore consigliato Descrizione campo
    tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID tenant. Noto anche come ID directory.
    subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx L'ID sottoscrizione usato per la creazione di risorse.
    clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx L'ID client dell'applicazione che può accedere alle risorse nel tenant.
    clientSecret PlaceholderClientSecret Il segreto client dell'applicazione che può accedere alle risorse nel tenant.
    resourceGroupName testrg Nome del gruppo di risorse contenente il cluster.
    clusterName mykustocluster Nome del cluster.
    databaseName mykustodatabase Nome del database di destinazione nel cluster.
    dataConnectionName myeventhubconnect Nome desiderato della connessione dati.
    tableName StormEvents Nome della tabella di destinazione nel database di destinazione.
    mappingRuleName StormEvents_CSV_Mapping Nome del mapping delle colonne correlato alla tabella di destinazione.
    dataFormat csv Formato dati del messaggio.
    eventHubResourceId ID risorsa ID risorsa dell'hub eventi che contiene i dati per l'inserimento.
    consumerGroup $Default Gruppo di consumer dell'hub eventi.
    posizione Stati Uniti centrali Posizione della risorsa di connessione dati.
    compressione gzip o Nessuno Tipo di compressione dei dati.
    databaseRouting Multi o Single Routing del database per la connessione. Se si imposta il valore su Single, la connessione dati viene instradata a un singolo database nel cluster come specificato nell'impostazione databaseName . Se si imposta il valore su Multi, è possibile eseguire l'override del database di destinazione predefinito usando la proprietà inserimento database. Per altre informazioni, vedere Routing degli eventi.

Rimuovere una connessione dati dell'hub eventi

Per rimuovere la connessione all'hub eventi, eseguire il comando seguente:

kustoManagementClient.DataConnections.Delete(resourceGroupName, clusterName, databaseName, dataConnectionName);