创建 Azure 数据资源管理器群集和数据库

Azure 数据资源管理器是一项快速、完全托管的数据分析服务,用于实时分析从应用程序、网站和 IoT 设备等资源流式传输的海量数据。 若要使用 Azure 数据资源管理器,请先创建群集,再在该群集中创建一个或多个数据库。 然后,可将数据引入(加载)到数据库,并对其运行查询。

本文介绍如何使用 C#、Python、Go、Azure CLI、PowerShell 或 Azure 资源管理器 (ARM) 模板创建群集和数据库。 若要了解如何使用 Azure 门户创建群集和数据库,请参阅快速入门:创建 Azure 数据资源管理器群集和数据库

有关基于以前的 SDK 版本的代码示例,请参阅存档的文章

先决条件

群集和数据库创建方法的先决条件:

创建 Azure 数据资源管理器群集

本部分指导你完成创建 Azure 数据资源管理器群集的过程。 选择与你的首选方法相关的选项卡来创建群集。

  1. 请使用以下命令创建群集:

    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 类获取详细信息。

  2. 运行以下命令,检查群集是否已成功创建:

    cluster_operations.get(resource_group_name = resource_group_name, cluster_name= cluster_name, custom_headers=None, raw=False)
    
  3. 确认是否成功创建了群集,只需检查结果中的 provisioningState 是否为 Succeeded 即可。

创建 Azure 数据资源管理器数据库

在本部分,你将在上一部分中创建的群集内创建一个数据库。

  1. 请使用以下命令创建数据库:

    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 数据将在缓存中保留的时间。
  2. 若要查看已创建的数据库,请运行以下命令:

    database_operations.get(resource_group_name = resource_group_name, cluster_name = cluster_name, database_name = database_name)
    

下一步