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
- Een Azure-abonnement. Maak een gratis Azure-account.
- Python 3.4+.
- Een Azure AD-toepassing en service-principal die toegang hebben tot resources. Waarden voor
Directory (tenant) ID, en opApplication IDClient Secrethalen.
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
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.
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
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. 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)