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

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.

Nästa steg