创建 Azure 数据资源管理器群集和数据库
Azure 数据资源管理器是一项快速、完全托管的数据分析服务,用于实时分析从应用程序、网站和 IoT 设备等资源流式传输的海量数据。 若要使用 Azure 数据资源管理器,请先创建群集,再在该群集中创建一个或多个数据库。 然后,可将数据引入(加载)到数据库,并对其运行查询。
本文介绍如何使用 C#、Python、Go、Azure CLI、PowerShell 或 Azure 资源管理器 (ARM) 模板创建群集和数据库。 若要了解如何使用 Azure 门户创建群集和数据库,请参阅快速入门:创建 Azure 数据资源管理器群集和数据库。
有关基于以前的 SDK 版本的代码示例,请参阅存档的文章。
群集和数据库创建方法的先决条件:
- Azure 订阅。 创建 Azure 帐户。
- Python 3.4+。
- 安装 azure-common 和 azure-mgmt-kusto 包。
- 可以访问资源的 Microsoft Entra 应用程序和服务主体。 保存“目录(租户) ID”、“应用程序 ID”和“客户端机密”值。
本部分指导你完成创建 Azure 数据资源管理器群集的过程。 选择与你的首选方法相关的选项卡来创建群集。
请使用以下命令创建群集:
from azure.mgmt.kusto import KustoManagementClient from azure.mgmt.kusto.models import Cluster, AzureSku from azure.common.credentials import ServicePrincipalCredentials #Directory (tenant) ID tenant_id = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx" #Application ID client_id = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx" #Client Secret client_secret = "xxxxxxxxxxxxxx" subscription_id = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx" credentials = ServicePrincipalCredentials( client_id=client_id, secret=client_secret, tenant=tenant_id ) location = 'China East 2' sku_name = 'Standard_D13_v2' capacity = 5 tier = "Standard" resource_group_name = 'testrg' cluster_name = 'mykustocluster' cluster = Cluster(location=location, sku=AzureSku(name=sku_name, capacity=capacity, tier=tier)) kusto_management_client = KustoManagementClient(credentials, subscription_id) cluster_operations = kusto_management_client.clusters poller = cluster_operations.begin_create_or_update(resource_group_name, cluster_name, cluster) poller.wait()
设置 建议的值 字段说明 cluster_name mykustocluster 所需的群集名称。 sku_name Standard_D13_v2 将用于群集的 SKU。 层 Standard SKU 层。 容量 数字 群集实例的数目。 resource_group_name testrg 将在其中创建群集的资源组名称。 备注
创建群集是一个长时间运行的操作。 begin_create_or_update 方法返回 LROPoller 的实例,请参阅 LROPoller 类获取详细信息。
运行以下命令,检查群集是否已成功创建:
cluster_operations.get(resource_group_name = resource_group_name, cluster_name= cluster_name, custom_headers=None, raw=False)
确认是否成功创建了群集,只需检查结果中的
provisioningState
是否为Succeeded
即可。
在本部分,你将在上一部分中创建的群集内创建一个数据库。
请使用以下命令创建数据库:
from azure.mgmt.kusto import KustoManagementClient from azure.common.credentials import ServicePrincipalCredentials from azure.mgmt.kusto.models import ReadWriteDatabase from datetime import timedelta #Directory (tenant) ID tenant_id = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx" #Application ID client_id = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx" #Client Secret client_secret = "xxxxxxxxxxxxxx" subscription_id = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx" credentials = ServicePrincipalCredentials( client_id=client_id, secret=client_secret, tenant=tenant_id ) location = 'China East 2' resource_group_name = 'testrg' cluster_name = 'mykustocluster' soft_delete_period = timedelta(days=3650) hot_cache_period = timedelta(days=3650) database_name = "mykustodatabase" kusto_management_client = KustoManagementClient(credentials, subscription_id) database_operations = kusto_management_client.databases database = ReadWriteDatabase(location=location, soft_delete_period=soft_delete_period, hot_cache_period=hot_cache_period) poller = database_operations.begin_create_or_update(resource_group_name = resource_group_name, cluster_name = cluster_name, database_name = database_name, parameters = database) poller.wait()
备注
如果使用的是 Python 版本 0.4.0 或更低版本,请使用 Database 而不是 ReadWriteDatabase。
设置 建议的值 字段说明 cluster_name mykustocluster 将在其中创建数据库的群集的名称。 database_name mykustodatabase 数据库名称。 resource_group_name testrg 将在其中创建群集的资源组名称。 soft_delete_period 3650 天,0:00:00 供查询使用的数据的保留时间。 hot_cache_period 3650 天,0:00:00 数据将在缓存中保留的时间。 若要查看已创建的数据库,请运行以下命令:
database_operations.get(resource_group_name = resource_group_name, cluster_name = cluster_name, database_name = database_name)