Vytvoření clusteru Azure Data Explorer databáze pomocí Pythonu

V tomto článku vytvoříte cluster Azure Data Explorer databáze pomocí Pythonu. Azure Data Explorer je rychlá, plně spravovaná služba analýzy dat pro analýzy velkých objemů dat v reálném čase, která se streamují z aplikací, webů, zařízení IoT a dalších. Pokud chcete Azure Data Explorer, nejprve vytvořte cluster a v tomto clusteru vytvořte jednu nebo více databází. Pak ingestuje nebo načítá data do databáze, abyste na něj mohli spouštět dotazy.

Požadavky

Instalace balíčku Pythonu

Pokud chcete nainstalovat balíček Pythonu pro Azure Data Explorer (Kusto), otevřete příkazový řádek, který má v cestě Python. Spusťte tento příkaz:

pip install azure-common
pip install azure-mgmt-kusto

Authentication

Ke spouštění příkladů v tomto článku potřebujeme aplikaci Azure AD a instanční objekt, který má přístup k prostředkům. Pokud chcete vytvořit bezplatnou aplikaci Azure AD a přidat přiřazení role v oboru předplatného, podívejte se na vytvoření aplikace Azure AD. Ukazuje také, jak získat Directory (tenant) ID , Application ID a Client Secret .

Vytvoření Azure Data Explorer clusteru

  1. Vytvořte cluster pomocí následujícího příkazu:

    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 = 'Central US'
    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.create_or_update(resource_group_name, cluster_name, cluster)
    poller.wait()
    
    Nastavení Navrhovaná hodnota Popis pole
    cluster_name mykustocluster Požadovaný název clusteru.
    sku_name Standard_D13_v2 SKU, která se použije pro váš cluster.
    tier Standard Úroveň SKU.
    capacity Číslo Počet instancí clusteru
    resource_group_name testrg (testrg) Název skupiny prostředků, ve které se cluster vytvoří.

    Poznámka

    Vytvoření clusteru je dlouhotr běžící operace. Metoda create_or_update vrací instanci LROPoller, další informace najdete v tématu Třída LROPoller.

  2. Spuštěním následujícího příkazu zkontrolujte, jestli se cluster úspěšně vytvořil:

    cluster_operations.get(resource_group_name = resource_group_name, cluster_name= cluster_name, custom_headers=None, raw=False)
    

Pokud výsledek obsahuje provisioningState hodnotu , cluster se úspěšně Succeeded vytvořil.

Vytvoření databáze v Azure Data Explorer clusteru

  1. Vytvořte databázi pomocí následujícího příkazu:

    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 = 'Central US'
    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.create_or_update(resource_group_name = resource_group_name, cluster_name = cluster_name, database_name = database_name, parameters = database)
    poller.wait()
    

    Poznámka

    Pokud používáte Python verze 0.4.0 nebo nižší, místo ReadWriteDatabase použijte Database.

    Nastavení Navrhovaná hodnota Popis pole
    cluster_name mykustocluster Název clusteru, ve kterém se databáze vytvoří.
    Název_databáze mykustodatabase Název vaší databáze.
    resource_group_name testrg (testrg) Název skupiny prostředků, ve které se cluster vytvoří.
    soft_delete_period 3650 dní, 0:00:00 Doba, po kterou budou data k dispozici pro dotazování.
    hot_cache_period 3650 dní, 0:00:00 Doba, po kterou se budou data uchovávat v mezipaměti.
  2. Spuštěním následujícího příkazu zobrazte databázi, kterou jste vytvořili:

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

Teď máte cluster a databázi.

Vyčištění prostředků

  • Pokud máte v plánu postupovat podle našich dalších článků, pořiďte si prostředky, které jste vytvořili.

  • Pokud chcete vyčistit prostředky, odstraňte cluster. Když odstraníte cluster, odstraní se také všechny jeho databáze. K odstranění clusteru použijte následující příkaz:

    cluster_operations.delete(resource_group_name = resource_group_name, cluster_name = cluster_name)
    

Další kroky