Skapa ett Azure Data Explorer kluster och en databas med hjälp av Python
I den här artikeln skapar du ett Azure Data Explorer kluster och databas med hjälp av Python. Azure Data Explorer är en snabb, fullständigt hanterad dataanalystjänst för realtidsanalys av stora mängder data som strömmar från program, webbplatser, IoT-enheter med mera. Om du Azure Data Explorer måste du först skapa ett kluster och skapa en eller flera databaser i klustret. Mata sedan in eller läs in data i en databas så att du kan köra frågor mot den.
Förutsättningar
- En Azure-prenumeration. Skapa ett kostnadsfritt Azure-konto.
- Python 3.4+.
- Ett Azure AD-program och tjänstens huvudnamn som har åtkomst till resurser. Hämta värden för
Directory (tenant) IDApplication ID, ochClient Secret.
Installera Python-paket
Om du vill installera Python-Azure Data Explorer (Kusto) öppnar du en kommandotolk med Python i sökvägen. Kör följande kommando:
pip install azure-common
pip install azure-mgmt-kusto
Autentisering
För att köra exemplen i den här artikeln behöver vi ett Azure AD-program och tjänstens huvudnamn som kan komma åt resurser. Markera skapa ett Azure AD-program för att skapa ett kostnadsfritt Azure AD-program och lägg till rolltilldelning i prenumerationsomfånget. Den visar också hur du hämtar Directory (tenant) ID , Application ID och Client Secret .
Skapa Azure Data Explorer-klustret
Skapa klustret med hjälp av följande kommando:
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()Inställning Föreslaget värde Fältbeskrivning cluster_name mykustocluster Önskat namn på klustret. sku_name Standard_D13_v2 Den SKU som ska användas för klustret. nivå Standard SKU-nivån. capacity Nummer Antalet instanser av klustret. resource_group_name testrg Namnet på resursgruppen där klustret kommer att skapas. Anteckning
Att skapa ett kluster är en långvarig åtgärd. Metod create_or_update returnerar en instans av LROPoller. Mer information finns i LROPoller-klassen.
Kör följande kommando för att kontrollera om klustret har skapats:
cluster_operations.get(resource_group_name = resource_group_name, cluster_name= cluster_name, custom_headers=None, raw=False)
Om resultatet innehåller provisioningState med värdet Succeeded har klustret skapats.
Skapa databasen i Azure Data Explorer-klustret
Skapa databasen med hjälp av följande kommando:
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()Anteckning
Om du använder Python version 0.4.0 eller senare använder du Database i stället för ReadWriteDatabase.
Inställning Föreslaget värde Fältbeskrivning cluster_name mykustocluster Namnet på det kluster där databasen ska skapas. database_name mykustodatabase Namn på databasen. resource_group_name testrg Namnet på resursgruppen där klustret kommer att skapas. soft_delete_period 3650 dagar, 0:00:00 Hur lång tid data ska behållas för att vara tillgängliga för frågor. hot_cache_period 3650 dagar, 0:00:00 Hur lång tid data ska behållas i cache. Kör följande kommando för att se den databas som du skapade:
database_operations.get(resource_group_name = resource_group_name, cluster_name = cluster_name, database_name = database_name)
Nu har du ett kluster och en databas.
Rensa resurser
Om du planerar att följa våra andra artiklar behåller du de resurser som du har skapat.
Ta bort klustret om du vill rensa resurser. När du tar bort ett kluster, raderas också alla databaser i den. Använd följande kommando för att ta bort klustret:
cluster_operations.delete(resource_group_name = resource_group_name, cluster_name = cluster_name)