Creación de un clúster y una base de datos de Azure Data Explorer mediante C#
Azure Data Explorer es un servicio de análisis de datos rápido y totalmente administrado para analizar en tiempo real grandes volúmenes de datos de que se transmiten desde aplicaciones, sitios web, dispositivos IoT, etc. Para usar Azure Data Explorer, cree primero un clúster y una o varias bases de datos en ese clúster. A continuación, ingerirá (cargará) los datos en una base de datos para que pueda ejecutar consultas en ella. En este artículo, se crean un clúster y una base de datos con C#.
Prerrequisitos
- Visual Studio 2019, descargue y use la versióngratuita Visual Studio 2019 Community Edition. Habilite Desarrollo de Azure durante la instalación de Visual Studio.
- Suscripción a Azure. Cree una cuenta de Azure gratuita.
Instalación de NuGet C#
- Instale el paquete Microsoft.Azure.Management.Kusto NuGet.
Authentication
Para ejecutar los ejemplos de este artículo, se necesita una aplicación de Azure AD y una entidad de servicio con acceso a los recursos. Consulte Creación de una aplicación de Azure AD para crear una aplicación de Azure AD gratuita e incorporar una asignación de roles en el ámbito de la suscripción. También se explica cómo obtener Directory (tenant) ID, Application ID y Client Secret.
Creación del clúster de Azure Data Explorer
Cree el clúster mediante el siguiente código:
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);Configuración Valor sugerido Descripción del campo clusterName mykustocluster Nombre que quiere para el clúster. skuName Standard_D13_v2 La SKU que se usará para el clúster. Nivel: Estándar Nivel de SKU. capacity número Número de instancias del clúster. resourceGroupName testrg Nombre del grupo de recursos en el que se creará el clúster. Nota
La creación de un clúster es una operación de larga duración, por lo que se recomienda encarecidamente utilizar CreateOrUpdateAsync en lugar de CreateOrUpdate.
Ejecute el siguiente comando para comprobar si el clúster se creó correctamente:
kustoManagementClient.Clusters.Get(resourceGroupName, clusterName);
Si el resultado contiene ProvisioningState con el valor Succeeded, significa que el clúster se ha creado correctamente.
Creación de la base de datos en el clúster de Azure Data Explorer
Cree la base de datos mediante el siguiente código:
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
Si usa la versión 2.0.0 de C#, o cualquier versión inferior, use Database en lugar de ReadWriteDatabase.
Configuración Valor sugerido Descripción del campo clusterName mykustocluster Nombre del clúster donde se creará la base de datos. databaseName mykustodatabase Nombre de la base de datos. resourceGroupName testrg Nombre del grupo de recursos en el que se creará el clúster. softDeletePeriod 3650:00:00:00 Cantidad de tiempo que los datos estarán disponibles para consulta. hotCachePeriod 3650:00:00:00 Cantidad de tiempo que los datos se conservarán en la caché. Ejecute el siguiente comando para ver la base de datos que ha creado:
kustoManagementClient.Databases.Get(resourceGroupName, clusterName, databaseName) as ReadWriteDatabase;
Ahora cuenta con un clúster y una base de datos.
Limpieza de recursos
Si tiene previsto seguir nuestros otros artículos, conserve los recursos que creó.
Para limpiar los recursos, elimine el clúster. Cuando se elimina un clúster, también se eliminan todas las bases de datos en él. Use el siguiente comando para eliminar el clúster:
kustoManagementClient.Clusters.Delete(resourceGroupName, clusterName);