Criar um cluster e uma base de dados do Azure Data Explorer
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. Para utilizar o Azure Data Explorer, primeiro crie um cluster e crie uma ou mais bases de dados nesse cluster. Em seguida, pode ingerir (carregar) dados numa base de dados e executar consultas na mesma.
Neste artigo, irá aprender a criar um cluster e uma base de dados com C#, Python, Go, a CLI do Azure, o PowerShell ou um modelo do Azure Resource Manager (ARM). Para saber como criar um cluster e uma base de dados com o portal do Azure, veja Início Rápido: Criar um cluster e uma base de dados do Azure Data Explorer.
Para exemplos de código baseados em versões anteriores do SDK, veja o artigo arquivado.
Pré-requisitos
Pré-requisitos por método de criação de clusters e bases de dados:
- Uma subscrição do Azure. Crie uma conta gratuita do Azure.
- Visual Studio 2022 Community Edition. Ative o desenvolvimento do Azure durante a configuração do Visual Studio.
- Instale o pacote Microsoft.Azure.Management.Kusto NuGet.
- Uma aplicação Microsoft Entra e principal de serviço que pode aceder aos recursos. Guarde o ID do Diretório (inquilino), o ID da Aplicação e o Segredo do Cliente.
Criar um cluster do Azure Data Explorer
Esta secção orienta-o ao longo do processo de criação de um cluster do Azure Data Explorer. Selecione o separador relevante para o seu método preferencial para criar o cluster.
Crie o cluster com o seguinte código:
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"; var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync(); var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value; var clusters = resourceGroup.GetKustoClusters(); var clusterName = "mykustocluster"; var skuName = KustoSkuName.StandardE8adsV5; var skuTier = KustoSkuTier.Standard; var capacity = 5; var clusterData = new KustoClusterData( location: AzureLocation.CentralUS, sku: new KustoSku(skuName, skuTier) { Capacity = capacity } ); await clusters.CreateOrUpdateAsync(WaitUntil.Completed, clusterName, clusterData);
Definição Valor sugerido Descrição do campo clusterName mykustocluster O nome pretendido do cluster. skuName Standard_E8ads_v5 O SKU que será utilizado para o cluster. tier Standard O escalão SKU. capacidade número O número de instâncias do cluster. resourceGroupName testrg O nome do grupo de recursos onde o cluster será criado. Nota
Criar um cluster é uma operação de execução prolongada, pelo que é altamente recomendado utilizar CreateOrUpdateAsync, em vez de CreateOrUpdate.
Execute o seguinte comando para verificar se o cluster foi criado com êxito:
clusterData = (await clusters.GetAsync(clusterName)).Value.Data;
Confirme a criação bem-sucedida do cluster ao verificar se o resultado contém
provisioningState
comoSucceeded
.
Criar uma base de dados do Azure Data Explorer
Nesta secção, irá criar uma base de dados no cluster criado na secção anterior.
Crie a base de dados com o seguinte código:
var cluster = (await clusters.GetAsync(clusterName)).Value; var databases = cluster.GetKustoDatabases(); var databaseName = "mykustodatabase"; var softDeletePeriod = TimeSpan.FromDays(3650); var hotCachePeriod = TimeSpan.FromDays(3650); var databaseData = new KustoReadWriteDatabase { Location = clusterData.Location, SoftDeletePeriod = softDeletePeriod, HotCachePeriod = hotCachePeriod }; await databases.CreateOrUpdateAsync(WaitUntil.Completed, databaseName, databaseData);
Nota
Se estiver a utilizar a versão C# 2.0.0 ou inferior, utilize a Base de Dados em vez de ReadWriteDatabase.
Definição Valor sugerido Descrição do campo clusterName mykustocluster O nome do cluster onde a base de dados será criada. databaseName mykustodatabase O nome da base de dados. resourceGroupName testrg O nome do grupo de recursos onde o cluster será criado. softDeletePeriod 3650:00:00:00 A quantidade de tempo durante a qual os dados serão mantidos disponíveis para consulta. hotCachePeriod 3650:00:00:00 A quantidade de tempo que os dados serão mantidos na cache. Execute o seguinte comando para ver a base de dados que criou:
databaseData = (await databases.GetAsync(databaseName)).Value.Data as KustoReadWriteDatabase;