Fråga mot data med hjälp av Python-biblioteket i Azure Data Explorer
I den här artikeln frågar du efter data med hjälp av Azure Data Explorer. Azure Data Explorer är en snabb och mycket skalbar datautforskningstjänst för logg- och telemetridata.
Azure Data Explorer tillhandahåller ett dataklientbibliotek för Python. Med det här biblioteket kan du fråga efter data från din kod. Anslut till en tabell i hjälpklustret som vi har konfigurerat för att underlätta inlärningen. Du kan köra frågor mot en tabell i klustret och returnera resultatet.
Förutsättningar
- Python 3.7 eller senare
- Ett Microsoft-konto eller en Microsoft Entra användaridentitet för åtkomst till hjälpklustret
Installera databiblioteket
Installera azure-kusto-data.
pip install azure-kusto-data
Lägg till importuttryck och konstanter
Importera klasser från biblioteket, och även dataanalysbiblioteket Pandas.
from azure.kusto.data import KustoClient, KustoConnectionStringBuilder
from azure.kusto.data.exceptions import KustoServiceError
from azure.kusto.data.helpers import dataframe_from_result_table
import pandas as pd
För att autentisera ett program använder Azure Data Explorer ditt Microsoft Entra klientorganisations-ID. Du hittar ditt klient-ID genom att använda följande URL. Byt ut YourDomain mot din domän.
https://login.microsoftonline.com/<YourDomain>/.well-known/openid-configuration/
Om din domän till exempel är contoso.com blir URL:en: https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Klicka på den här URL:en för att se resultatet. Den första raden ser ut så här.
"authorization_endpoint":"https://login.microsoftonline.com/6babcaad-604b-40ac-a9d7-9fd97c0b779f/oauth2/authorize"
Klient-ID är i det här fallet 6babcaad-604b-40ac-a9d7-9fd97c0b779f
. Ange värdet för AAD_TENANT_ID innan du kör den här koden.
AAD_TENANT_ID = "<TenantId>"
KUSTO_CLUSTER = "https://help.kusto.windows.net/"
KUSTO_DATABASE = "Samples"
Nu kan du skapa anslutningssträngen. I det här exemplet används enhetsautentisering för åtkomst till klustret. Du kan också använda Microsoft Entra programcertifikat, Microsoft Entra programnyckel och Microsoft Entra användare och lösenord.
KCSB = KustoConnectionStringBuilder.with_aad_device_authentication(
KUSTO_CLUSTER)
KCSB.authority_id = AAD_TENANT_ID
Ansluta till Azure Data Explorer och köra en fråga
Kör en fråga mot klustret och lagra utdata i en dataram. När den här koden körs returneras ett meddelande som ser ut ungefär så här: Om du vill logga in öppnar du en webbläsare och går till sidan https://microsoft.com/devicelogin och anger koden F3W4VWZDM för att autentisera. Följ stegen för att logga in och gå sedan tillbaka för att köra nästa kodblock.
KUSTO_CLIENT = KustoClient(KCSB)
KUSTO_QUERY = "StormEvents | sort by StartTime desc | take 10"
RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)
Utforska data i DataFrame
När du gör en inloggning returnerar frågan ett resultat och det lagras i en dataram. Du kan arbeta med resultaten precis i andra dataramar.
df = dataframe_from_result_table(RESPONSE.primary_results[0])
df
Du bör se de tio främsta resultaten från tabellen StormEvents.