Bagikan melalui


Membuat koneksi data Azure Event Hubs untuk Azure Data Explorer dengan SDK

Azure Data Explorer menawarkan penyerapan dari Azure Event Hubs, platform streaming big data, dan layanan penyerapan peristiwa. Azure Event Hubs dapat memproses jutaan peristiwa per detik dalam waktu hampir bersamaan.

Dalam artikel ini, Anda menyambungkan ke pusat aktivitas dan menyerap data ke Azure Data Explorer. Untuk gambaran umum tentang penyerapan dari Azure Event Hubs, lihat Koneksi data Azure Event Hubs.

Untuk mempelajari cara membuat koneksi di UI web Azure Data Explorer, portal Azure, atau dengan templat ARM, lihat Membuat koneksi data Azure Event Hubs.

Untuk sampel kode berdasarkan versi SDK sebelumnya, lihat artikel yang diarsipkan.

Prasyarat

Membuat koneksi data pusat aktivitas

Di bagian ini, Anda membuat koneksi antara pusat aktivitas dan tabel Azure Data Explorer Anda. Selama koneksi ini ada, data dikirimkan dari hub peristiwa ke tabel target Anda. Jika pusat aktivitas dipindahkan ke sumber daya atau langganan yang berbeda, Anda perlu memperbarui atau membuat ulang koneksi.

  1. Instal paket Microsoft.Azure.Management.Kusto NuGet.

  2. Buat perwakilan aplikasi Microsoft Entra untuk digunakan untuk autentikasi. Anda memerlukan ID direktori (penyewa), ID aplikasi, dan rahasia klien.

  3. Jalankan kode berikut.

    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);
    
    Pengaturan Nilai yang disarankan Deskripsi bidang
    tenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID penyewa Anda. Juga dikenal sebagai ID direktori.
    subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID langganan yang Anda gunakan untuk pembuatan sumber daya.
    clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID klien aplikasi yang dapat mengakses sumber daya di penyewa Anda.
    clientSecret PlaceholderClientSecret Rahasia klien aplikasi yang dapat mengakses sumber daya di penyewa Anda.
    resourceGroupName testrg Nama grup sumber daya yang berisi kluster Anda.
    clusterName mykustocluster Nama kluster Anda.
    databaseName mykustodatabase Nama database target dalam kluster Anda.
    dataConnectionName myeventhubconnect Nama koneksi data yang diinginkan.
    tableName StormEvents Nama tabel target dalam database target.
    mappingRuleName StormEvents_CSV_Mapping Nama pemetaan kolom Anda yang terkait dengan tabel target.
    dataFormat csv Format data pesan.
    eventHubResourceId ID Sumber Daya ID sumber daya hub peristiwa Anda yang menyimpan data untuk penyerapan.
    consumerGroup $Default Grup konsumen pusat aktivitas Anda.
    lokasi US Tengah Lokasi sumber daya koneksi data.
    kompresi gzip atau Tidak Ada Jenis kompresi data.
    databaseRouting Multi atau Tunggal Perutean database untuk koneksi. Jika Anda mengatur nilai ke Tunggal, koneksi data dirutekan ke database tunggal di kluster seperti yang ditentukan dalam pengaturan databaseName . Jika Anda mengatur nilai ke Multi, Anda bisa mengambil alih database target default menggunakan properti Penyerapan database. Untuk informasi selengkapnya, lihat Perutean peristiwa.

Menghapus koneksi data pusat aktivitas

Untuk menghapus koneksi pusat aktivitas, jalankan perintah berikut:

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