Creare un database e un cluster di Esplora dati di Azure tramite C#Create an Azure Data Explorer cluster and database by using C#

Esplora dati di Azure è un servizio di analisi dei dati veloce e completamente gestito per l'analisi in tempo reale di volumi elevati di dati in streaming provenienti da applicazioni, siti Web, dispositivi IoT e altro ancora.Azure Data Explorer is a fast, fully managed data analytics service for real-time analysis on large volumes of data streaming from applications, websites, IoT devices, and more. Per usare Esplora dati di Azure, è necessario prima creare un cluster e quindi uno o più database al suo interno.To use Azure Data Explorer, you first create a cluster, and create one or more databases in that cluster. Quindi si inseriscono (caricano) i dati in un database per poter eseguire query.Then you ingest (load) data into a database so that you can run queries against it. In questo articolo vengono creati un cluster e un database tramite C#.In this article, you create a cluster and a database by using C#.

PrerequisitiPrerequisites

  • Se Visual Studio 2019 non è installato, è possibile scaricare e usare l'edizione gratuita Visual Studio 2019 Community Edition.If you don't have Visual Studio 2019 installed, you can download and use the free Visual Studio 2019 Community Edition. Durante l'installazione di Visual Studio abilitare Sviluppo di Azure .Make sure that you enable Azure development during the Visual Studio setup.
  • Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.If you don't have an Azure subscription, create a free Azure account before you begin.

Installare NuGet C#Install C# NuGet

AuthenticationAuthentication

Per eseguire gli esempi in questo articolo, è necessario un Azure AD applicazione e un'entità servizio che possano accedere alle risorse.For running the examples in this article, we need an Azure AD Application and service principal that can access resources. Selezionare Crea un'applicazione Azure ad per creare un'applicazione Azure ad gratuita e aggiungere l'assegnazione di ruolo nell'ambito della sottoscrizione.Check create an Azure AD application to create a free Azure AD Application and add role assignment at the subscription scope. Viene inoltre illustrato come ottenere Directory (tenant) ID , Application ID e Client Secret .It also shows how to get the Directory (tenant) ID, Application ID, and Client Secret.

Creare il cluster di Esplora dati di AzureCreate the Azure Data Explorer cluster

  1. Creare il cluster usando il codice seguente:Create your cluster by using the following code:

    var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";//Directory (tenant) ID
    var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";//Application ID
    var clientSecret = "xxxxxxxxxxxxxx";//Client Secret
    var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
    var authenticationContext = new AuthenticationContext($"https://login.windows.net/{tenantId}");
    var credential = new ClientCredential(clientId, clientSecret);
    var result = await authenticationContext.AcquireTokenAsync(resource: "https://management.core.windows.net/", clientCredential: credential);
    
    var credentials = new TokenCredentials(result.AccessToken, result.AccessTokenType);
    
    var kustoManagementClient = new KustoManagementClient(credentials)
    {
        SubscriptionId = subscriptionId
    };
    
    var resourceGroupName = "testrg";
    var clusterName = "mykustocluster";
    var location = "Central US";
    var skuName = "Standard_D13_v2";
    var tier = "Standard";
    var capacity = 5;
    var sku = new AzureSku(skuName, tier, capacity);
    var cluster = new Cluster(location, sku);
    await kustoManagementClient.Clusters.CreateOrUpdateAsync(resourceGroupName, clusterName, cluster);
    
    ImpostazioneSetting Valore consigliatoSuggested value Descrizione campoField description
    clusterNameclusterName mykustoclustermykustocluster Nome del cluster.The desired name of your cluster.
    skuNameskuName Standard_D13_v2Standard_D13_v2 SKU usato per il cluster.The SKU that will be used for your cluster.
    Livellotier StandardStandard Livello SKU.The SKU tier.
    capacitàcapacity numbernumber Numero di istanze del cluster.The number of instances of the cluster.
    resourceGroupNameresourceGroupName testrgtestrg Il nome del gruppo di risorse in cui verrà creato il cluster.The resource group name where the cluster will be created.

    Nota

    La creazione di un cluster è un'operazione a esecuzione prolungata, quindi è consigliabile usare CreateOrUpdateAsync anziché CreateOrUpdate.Create a cluster is a long running operation, so it's highly recommended to use CreateOrUpdateAsync, instead of CreateOrUpdate.

  2. Per verificare se il cluster è stato creato correttamente, eseguire il comando seguente:Run the following command to check whether your cluster was successfully created:

    kustoManagementClient.Clusters.Get(resourceGroupName, clusterName);
    

Se il risultato contiene ProvisioningState con il valore Succeeded, il cluster è stato creato correttamente.If the result contains ProvisioningState with the Succeeded value, then the cluster was successfully created.

Creare il database nel cluster di Esplora dati di AzureCreate the database in the Azure Data Explorer cluster

  1. Creare il database usando il codice seguente:Create your database by using the following code:

    var hotCachePeriod = new TimeSpan(3650, 0, 0, 0);
    var softDeletePeriod = new TimeSpan(3650, 0, 0, 0);
    var databaseName = "mykustodatabase";
    var database = new ReadWriteDatabase(location: location, softDeletePeriod: softDeletePeriod, hotCachePeriod: hotCachePeriod);
    
    await kustoManagementClient.Databases.CreateOrUpdateAsync(resourceGroupName, clusterName, databaseName, database);
    

    Nota

    Se si usa C# versione 2.0.0 o successiva, usare database anziché ReadWriteDatabase.If you are using C# version 2.0.0 or below, use Database instead of ReadWriteDatabase.

    ImpostazioneSetting Valore consigliatoSuggested value Descrizione campoField description
    clusterNameclusterName mykustoclustermykustocluster Nome del cluster in cui verrà creato il database.The name of your cluster where the database will be created.
    databaseNamedatabaseName mykustodatabasemykustodatabase Nome del database.The name of your database.
    resourceGroupNameresourceGroupName testrgtestrg Il nome del gruppo di risorse in cui verrà creato il cluster.The resource group name where the cluster will be created.
    softDeletePeriodsoftDeletePeriod 3650:00:00:003650:00:00:00 Periodo di tempo in cui i dati verranno mantenuti disponibili in modo che sia possibile eseguire una query.The amount of time that data will be kept available to query.
    hotCachePeriodhotCachePeriod 3650:00:00:003650:00:00:00 Periodo di tempo in cui i dati verranno conservati nella cache.The amount of time that data will be kept in cache.
  2. Eseguire il comando seguente per vedere il database creato:Run the following command to see the database that you created:

    kustoManagementClient.Databases.Get(resourceGroupName, clusterName, databaseName) as ReadWriteDatabase;
    

A questo punto sono disponibili un cluster e un database.You now have a cluster and a database.

Pulire le risorseClean up resources

  • Se si prevede di seguire gli altri articoli, è necessario salvare le risorse create.If you plan to follow our other articles, keep the resources you created.

  • Per pulire le risorse, eliminare il cluster.To clean up resources, delete the cluster. Quando si elimina un cluster, vengono eliminati anche tutti i database al suo interno.When you delete a cluster, it also deletes all the databases in it. Usare il comando seguente per eliminare il cluster:Use the following command to delete your cluster:

    kustoManagementClient.Clusters.Delete(resourceGroupName, clusterName);
    

Passaggi successiviNext steps