wykonywanie zapytań o dane przy użyciu biblioteki języka Python w usłudze Azure Data Explorer

W tym artykule wykonasz zapytanie dotyczące danych przy użyciu usługi Azure Data Explorer. Azure Data Explorer to szybka i wysoce skalowalna usługa eksploracji danych na potrzeby danych dziennika i telemetrycznych.

Usługa Azure Data Explorer udostępnia bibliotekę danych klienta dla języka Python. Ta biblioteka umożliwia wykonywanie zapytań o dane z poziomu kodu. Połącz się z tabelą w klastrze pomocy , który skonfigurowaliśmy w celu ułatwienia nauki. Możesz wykonać zapytanie dotyczące tabeli w tym klastrze i zwrócić wyniki.

Wymagania wstępne

Instalowanie biblioteki danych

Zainstaluj programazure-kusto-data.

pip install azure-kusto-data

Dodawanie instrukcji importu i stałych

Zaimportuj klasy z biblioteki oraz bibliotekę analizy danych 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

Aby uwierzytelnić aplikację, usługa Azure Data Explorer używa identyfikatora dzierżawy Microsoft Entra. Aby odnaleźć identyfikator dzierżawy, użyj następującego adresu URL, zastępując ciąg YourDomain nazwą domeny.

https://login.microsoftonline.com/<YourDomain>/.well-known/openid-configuration/

Jeśli na przykład Twoja domena to contoso.com, adres URL to https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Kliknij ten adres URL, aby wyświetlić wyniki. Pierwszy wiersz wygląda w następujący sposób.

"authorization_endpoint":"https://login.microsoftonline.com/6babcaad-604b-40ac-a9d7-9fd97c0b779f/oauth2/authorize"

Identyfikator dzierżawy w tym przypadku to 6babcaad-604b-40ac-a9d7-9fd97c0b779f. Przed uruchomieniem kodu ustaw wartość dla elementu AAD_TENANT_ID.

AAD_TENANT_ID = "<TenantId>"
KUSTO_CLUSTER = "https://help.kusto.windows.net/"
KUSTO_DATABASE = "Samples"

Teraz możesz utworzyć parametry połączenia. W tym przykładzie w celu uzyskania dostępu do klastra używane jest uwierzytelnianie urządzenia. Można również użyć certyfikatu aplikacji Microsoft Entra, klucza aplikacji Microsoft Entra oraz Microsoft Entra użytkownika i hasła.

KCSB = KustoConnectionStringBuilder.with_aad_device_authentication(
    KUSTO_CLUSTER)
KCSB.authority_id = AAD_TENANT_ID

Nawiązywanie połączenia z usługą Azure Data Explorer i wykonywanie zapytania

Wykonaj zapytanie do klastra i zapisz dane wyjściowe w ramce danych. Po uruchomieniu tego kodu zwraca komunikat podobny do następującego: Aby się zalogować, użyj przeglądarki internetowej, aby otworzyć stronę https://microsoft.com/devicelogin i wprowadzić kod F3W4VWZDM do uwierzytelnienia. Postępuj zgodnie z instrukcjami, aby się zalogować, a następnie wróć, aby uruchomić kolejny blok kodu.

KUSTO_CLIENT = KustoClient(KCSB)
KUSTO_QUERY = "StormEvents | sort by StartTime desc | take 10"

RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)

Eksplorowanie danych w elemencie DataFrame

Po zalogowaniu zapytanie zwraca wyniki, które są zapisywane w ramce danych. Możesz pracować z tymi wynikami tak samo, jak w przypadku każdej innej ramki danych.

df = dataframe_from_result_table(RESPONSE.primary_results[0])
df

Powinno zostać wyświetlonych dziesięć najlepszych wyników z tabeli StormEvents.

Następny krok