创建 Azure 数据资源管理器群集和数据库
Azure 数据资源管理器是一项快速、完全托管的数据分析服务,用于实时分析从应用程序、网站和 IoT 设备等资源流式传输的海量数据。 若要使用 Azure 数据资源管理器,请先创建群集,再在该群集中创建一个或多个数据库。 然后,可将数据引入(加载)到数据库,并对其运行查询。
本文介绍如何使用 C#、Python、Go、Azure CLI、PowerShell 或 Azure 资源管理器 (ARM) 模板创建群集和数据库。 若要了解如何使用 Azure 门户创建群集和数据库,请参阅快速入门:创建 Azure 数据资源管理器群集和数据库。
有关基于以前的 SDK 版本的代码示例,请参阅存档的文章。
先决条件
群集和数据库创建方法的先决条件:
- Azure 订阅。 创建 Azure 帐户。
- Visual Studio 2022 Community Edition。 在安装 Visual Studio 的过程中,请确保启用“Azure 开发”。
- 安装 Microsoft.Azure.Management.Kusto NuGet 包。
- 可以访问资源的 Microsoft Entra 应用程序和服务主体。 保存“目录(租户) ID”、“应用程序 ID”和“客户端机密”值。
创建 Azure 数据资源管理器群集
本部分指导你完成创建 Azure 数据资源管理器群集的过程。 选择与你的首选方法相关的选项卡来创建群集。
使用以下代码创建群集:
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.chinaeast2, sku: new KustoSku(skuName, skuTier) { Capacity = capacity } ); await clusters.CreateOrUpdateAsync(WaitUntil.Completed, clusterName, clusterData);
设置 建议的值 字段说明 clusterName mykustocluster 所需的群集名称。 skuName Standard_D13_v2 将用于群集的 SKU。 层 Standard SKU 层。 容量 数字 群集实例的数目。 resourceGroupName testrg 将在其中创建群集的资源组名称。 注意
创建群集是一个长时间运行的操作,因此强烈建议使用 CreateOrUpdateAsync,而不是 CreateOrUpdate。
运行以下命令,检查群集是否已成功创建:
clusterData = (await clusters.GetAsync(clusterName)).Value.Data;
确认是否成功创建了群集,只需检查结果中的
provisioningState
是否为Succeeded
即可。
创建 Azure 数据资源管理器数据库
在本部分,你将在上一部分中创建的群集内创建一个数据库。
使用以下代码创建数据库:
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);
注意
如果使用的是 C# 版本 2.0.0 或更低版本,请使用 Database 而不是 ReadWriteDatabase。
设置 建议的值 字段说明 clusterName mykustocluster 将在其中创建数据库的群集的名称。 databaseName mykustodatabase 数据库名称。 resourceGroupName testrg 将在其中创建群集的资源组名称。 softDeletePeriod 3650:00:00:00 供查询使用的数据的保留时间。 hotCachePeriod 3650:00:00:00 数据将在缓存中保留的时间。 若要查看已创建的数据库,请运行以下命令:
databaseData = (await databases.GetAsync(databaseName)).Value.Data as KustoReadWriteDatabase;