Dotazování dat s využitím knihovny Python Azure Data Exploreru
V tomto článku se dotazujete na data pomocí Azure Data Exploreru. Azure Data Explorer je rychlá a vysoce škálovatelná služba pro zkoumání dat protokolů a telemetrie.
Azure Data Explorer poskytuje datovou klientskou knihovnu pro Python. Pomocí této knihovny můžete data dotazovat z kódu. Připojte se k tabulce v clusteru nápovědy, který jsme nastavili, abychom se mohli učit. Můžete dotazovat tabulku v daném clusteru a vrátit výsledky.
Požadavky
- Python 3.7 nebo novější
- Účet Microsoft nebo identita uživatele Microsoft Entra pro přístup ke clusteru nápovědy
Instalace datové knihovny
Nainstalujte azure-kusto-data.
pip install azure-kusto-data
Přidání příkazů pro import a konstant
Naimportujte z knihovny třídy a pandas, což je knihovna pro analýzu dat.
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
K ověření aplikace používá Azure Data Explorer VAŠE ID tenanta Microsoft Entra. ID tenanta zjistíte pomocí následující adresy URL, ve které YourDomain nahradíte svou doménou.
https://login.microsoftonline.com/<YourDomain>/.well-known/openid-configuration/
Pokud je vaše doména například contoso.com, je adresa URL https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Kliknutím na tuto adresu URL zobrazte výsledky. První řádek vypadá jako v následujícím příkladu.
"authorization_endpoint":"https://login.microsoftonline.com/6babcaad-604b-40ac-a9d7-9fd97c0b779f/oauth2/authorize"
V tomto případě je ID tenanta 6babcaad-604b-40ac-a9d7-9fd97c0b779f
. Před spuštěním tohoto kódu nastavte hodnotu AAD_TENANT_ID.
AAD_TENANT_ID = "<TenantId>"
KUSTO_CLUSTER = "https://help.kusto.windows.net/"
KUSTO_DATABASE = "Samples"
Teď sestavte připojovací řetězec. V tomto příkladu se pro přístup ke clusteru používá ověřování pomocí zařízení. Můžete také použít certifikát aplikace Microsoft Entra, klíč aplikace Microsoft Entra a uživatele a heslo Microsoft Entra.
KCSB = KustoConnectionStringBuilder.with_aad_device_authentication(
KUSTO_CLUSTER)
KCSB.authority_id = AAD_TENANT_ID
Připojení k Azure Data Exploreru a spuštění dotazu
Spusťte dotaz vůči clusteru a uložte výstup do datového rámce. Když se tento kód spustí, vrátí podobnou zprávu: Pokud se chcete přihlásit, otevřete ve webovém prohlížeči stránku https://microsoft.com/devicelogin a zadejte kód F3W4VWZDM k ověření. Podle pokynů se přihlaste a pak se vraťte a spusťte další blok kódu.
KUSTO_CLIENT = KustoClient(KCSB)
KUSTO_QUERY = "StormEvents | sort by StartTime desc | take 10"
RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)
Zkoumání dat v datovém rámci
Po přihlášení vrátí tento dotaz výsledky, které jsou uložené v datovém rámci. S výsledky můžete pracovat stejně jako s jakýmkoli jiným datovým rámcem.
df = dataframe_from_result_table(RESPONSE.primary_results[0])
df
Měli byste vidět prvních deset výsledků z tabulky StormEvents.