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 ställt in 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.4+.
  • Ett e-postkonto för organisationen som är medlem i Azure Active Directory (AAD).

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

Azure Data Explorer använder ditt AAD-klient-ID för att autentisera ett program. Du hittar ditt klient-ID genom att använda följande URL. Byt ut YourDomain mot din domän.

https://login.windows.net/<YourDomain>/.well-known/openid-configuration/

Om din domän till exempel är contoso.com blir URL:en: . 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.windows.net/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 ett AAD-programcertifikat, en AAD-programnyckel och användare och lösenord för AAD.

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