Criar um cluster e base de dados Azure Data Explorer utilizando C #Create an Azure Data Explorer cluster and database by using C#

O Azure Data Explorer é um serviço de análise de dados rápido e totalmente gerido que permite realizar análises em tempo real em volumes grandes de transmissão de dados a partir de aplicações, sites, dispositivos IoT e muito mais.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. Para utilizar o Azure Data Explorer, primeiro crie um cluster e crie uma ou mais bases de dados nesse cluster.To use Azure Data Explorer, you first create a cluster, and create one or more databases in that cluster. Em seguida, ingira (carregue) os dados para uma base de dados, de modo a poder executar consultas neles.Then you ingest (load) data into a database so that you can run queries against it. Neste artigo, cria-se um cluster e uma base de dados utilizando C#.In this article, you create a cluster and a database by using C#.

Pré-requisitosPrerequisites

Instalar C# NuGetInstall C# NuGet

AutenticaçãoAuthentication

Para executar os exemplos neste artigo, precisamos de uma Aplicação AD Azure e um diretor de serviço que possa aceder aos recursos.For running the examples in this article, we need an Azure AD Application and service principal that can access resources. Verifique criar uma aplicação AD Azure para criar uma aplicação AD Azure gratuita e adicionar atribuição de funções no âmbito de subscrição.Check create an Azure AD application to create a free Azure AD Application and add role assignment at the subscription scope. Também mostra como obter o Directory (tenant) ID Application ID , e Client Secret .It also shows how to get the Directory (tenant) ID, Application ID, and Client Secret.

Criar o cluster Azure Data ExplorerCreate the Azure Data Explorer cluster

  1. Crie o seu cluster utilizando o seguinte código: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);
    
    DefiniçãoSetting Valor sugeridoSuggested value Descrição do campoField description
    clusterNameclusterName mykustoclustermykustocluster O nome desejado do seu aglomerado.The desired name of your cluster.
    skuNameskuName Standard_D13_v2Standard_D13_v2 O SKU que será usado para o seu aglomerado.The SKU that will be used for your cluster.
    tiertier StandardStandard O nível SKU.The SKU tier.
    capacidadecapacity númeronumber O número de casos do aglomerado.The number of instances of the cluster.
    resourceGroupNameresourceGroupName testrtestrg O nome do grupo de recursos onde o cluster será criado.The resource group name where the cluster will be created.

    Nota

    Criar um cluster é uma operação de longa duração, por isso é altamente recomendado usar CreateOrUpdateAsync, em vez de CreateOrUpdate.Create a cluster is a long running operation, so it's highly recommended to use CreateOrUpdateAsync, instead of CreateOrUpdate.

  2. Executar o seguinte comando para verificar se o seu cluster foi criado com sucesso:Run the following command to check whether your cluster was successfully created:

    kustoManagementClient.Clusters.Get(resourceGroupName, clusterName);
    

Se o resultado contiver ProvisioningState com o Succeeded valor, então o cluster foi criado com sucesso.If the result contains ProvisioningState with the Succeeded value, then the cluster was successfully created.

Criar a base de dados no cluster Azure Data ExplorerCreate the database in the Azure Data Explorer cluster

  1. Crie a sua base de dados utilizando o seguinte código: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);
    
     [!NOTE]
     If you are using C# version 2.0.0 or below, use Database instead of ReadWriteDatabase.
    
    DefiniçãoSetting Valor sugeridoSuggested value Descrição do campoField description
    clusterNameclusterName mykustoclustermykustocluster O nome do seu cluster onde a base de dados será criada.The name of your cluster where the database will be created.
    base de dados NomedatabaseName base de dados mykustomykustodatabase O nome da sua base de dados.The name of your database.
    resourceGroupNameresourceGroupName testrtestrg O nome do grupo de recursos onde o cluster será criado.The resource group name where the cluster will be created.
    softDeletePeriodsoftDeletePeriod 3650:00:00:003650:00:00:00 O tempo que esses dados serão mantidos disponíveis para consulta.The amount of time that data will be kept available to query.
    hotCachePeriodhotCachePeriod 3650:00:00:003650:00:00:00 A quantidade de tempo que os dados serão mantidos em cache.The amount of time that data will be kept in cache.
  2. Faça o seguinte comando para ver a base de dados que criou:Run the following command to see the database that you created:

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

Agora tem um aglomerado e uma base de dados.You now have a cluster and a database.

Limpar os recursosClean up resources

  • Se planeia seguir os nossos outros artigos, mantenha os recursos que criou.If you plan to follow our other articles, keep the resources you created.

  • Para limpar recursos, elimine o cluster.To clean up resources, delete the cluster. Quando elimina um cluster, também elimina todas as bases de dados nele.When you delete a cluster, it also deletes all the databases in it. Utilize o seguinte comando para eliminar o seu cluster:Use the following command to delete your cluster:

    kustoManagementClient.Clusters.Delete(resourceGroupName, clusterName);
    

Próximos passosNext steps