Udostępnij przez


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 i wykonaj zapytanie względem tabeli i zwróć wyniki.

Wymagania wstępne

Instalowanie biblioteki danych

Zainstaluj programazure-kusto-data.

pip install azure-kusto-data

Dodawanie instrukcji importu i stałych

Zaimportuj azure.kusto klasy z biblioteki i pandasbibliotekę analizy danych.

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 firmy 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/. Przejdź do tego adresu URL i znajdź authentication_endpoint w wynikach.

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

Identyfikator dzierżawy w tym przypadku to aaaabbbb-0000-cccc-1111-dddd2222eeee. 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żesz również użyć certyfikatu aplikacji Entra firmy Microsoft, klucza aplikacji Microsoft Entra oraz użytkownika i hasła firmy Microsoft Entra.

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 wprowadzeniu logowania zapytanie zwraca wyniki i są one przechowywane 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

Powinny zostać wyświetlone 10 pierwszych wyników z tabeli StormEvents.

Następny krok