Een cluster Azure Data Explorer database maken met behulp van Python

In dit artikel maakt u een Azure Data Explorer cluster en database met behulp van Python. Azure Data Explorer is een snelle, volledig beheerde service voor gegevensanalyses waarmee grote hoeveelheden gegevens van toepassingen, websites, IoT-apparaten en dergelijke in real-time kunnen worden geanalyseerd. Als u Azure Data Explorer, maakt u eerst een cluster en maakt u een of meer databases in dat cluster. Neem vervolgens gegevens op in een database, of laad deze, zodat u er query's op kunt uitvoeren.

Vereisten

Python-pakket installeren

Als u het Python-pakket voor Azure Data Explorer (Kusto) wilt installeren, opent u een opdrachtprompt met Python in het pad. Voer deze opdracht uit:

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

Verificatie

Voor het uitvoeren van de voorbeelden in dit artikel hebben we een Azure AD-toepassing en service-principal nodig die toegang hebben tot resources. Controleer een Azure AD-toepassing maken om een gratis Azure AD-toepassing te maken en roltoewijzing toe te voegen aan het abonnementsbereik. U ziet ook hoe u de Directory (tenant) ID , en op kunt Application IDClient Secret halen.

Het Azure Data Explorer-cluster maken

  1. Maak uw cluster met behulp van de volgende opdracht:

    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()
    
    Instelling Voorgestelde waarde Beschrijving van veld
    cluster_name mycluster De gewenste naam van uw cluster.
    sku_name Standard_D13_v2 De SKU die wordt gebruikt voor uw cluster.
    laag Standard De SKU-laag.
    capacity getal Het aantal exemplaren van het cluster.
    resource_group_name testrg Naam van de resourcegroep waar het cluster wordt gemaakt.

    Notitie

    Het maken van een cluster is een langdurige bewerking. Methode create_or_update een exemplaar van LROPoller retourneert, zie LROPoller-klasse voor meer informatie.

  2. Voer de volgende opdracht uit om te controleren of het cluster is gemaakt:

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

Als het resultaat provisioningState met waarde Succeeded bevat, is het maken van het cluster geslaagd.

De database in het Azure Data Explorer-cluster maken

  1. Maak uw database met behulp van de volgende opdracht:

    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()
    

    Notitie

    Als u Python versie 0.4.0 of lager gebruikt, gebruikt u Database in plaats van ReadWriteDatabase.

    Instelling Voorgestelde waarde Beschrijving van veld
    cluster_name mycluster De naam van het cluster waar de database wordt gemaakt.
    Database_name myplanodatabase De naam van uw database.
    resource_group_name testrg Naam van de resourcegroep waar het cluster wordt gemaakt.
    soft_delete_period 3650 dagen, 0:00:00 Hoe lang gegevens worden opgeslagen om query's erop te kunnen uitvoeren.
    hot_cache_period 3650 dagen, 0:00:00 Hoe lang gegevens worden opgeslagen in de cache.
  2. Voer de volgende opdracht uit om de database te bekijken die u hebt gemaakt:

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

U hebt nu een cluster en een database.

Resources opschonen

  • Als u van plan bent onze andere artikelen te volgen, bewaar dan de resources die u hebt gemaakt.

  • Als u resources wilt opschonen, moet u het cluster verwijderen. Wanneer u een cluster verwijdert, worden alle databases hierin ook verwijderd. Gebruik de volgende opdracht om uw cluster te verwijderen:

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

Volgende stappen