Abfragen von Daten mit der Azure Data Explorer-Bibliothek für Python
In diesem Artikel fragen Sie Daten mithilfe des Azure Data Explorer ab. Azure-Daten-Explorer ist ein schneller und hochgradig skalierbarer Dienst zur Untersuchung von Daten (Protokoll- und Telemetriedaten).
Der Azure-Daten-Explorer bietet eine Datenclientbibliothek für Python. Mit dieser Bibliothek können Sie Daten aus Ihrem Code abfragen. Stellen Sie eine Verbindung mit einer Tabelle im Hilfecluster her, den wir als Lernhilfe eingerichtet haben. Sie können dann eine Tabelle in diesem Cluster abfragen und die Ergebnisse zurückgeben lassen.
Voraussetzungen
- Python 3.7 oder höher
- Ein Microsoft-Konto oder eine Microsoft Entra-Benutzeridentität für den Zugriff auf den Hilfecluster
Installieren der Datenbibliothek
Installieren Sie azure-kusto-data.
pip install azure-kusto-data
Hinzufügen von Importanweisungen und Konstanten
Importieren Sie Klassen aus der Bibliothek sowie pandas, eine Datenanalysebibliothek.
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
Um eine Anwendung zu authentifizieren, verwendet Azure Data Explorer Ihre Microsoft Entra-Mandanten-ID. Um Ihre Mandanten-ID zu suchen, verwenden Sie die folgende URL, und ersetzen Sie dabei YourDomain durch Ihre Domäne.
https://login.microsoftonline.com/<YourDomain>/.well-known/openid-configuration/
Wenn Ihre Domäne beispielsweise contoso.com ist, lautet die URL: https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Klicken Sie auf diese URL, um die Ergebnisse anzuzeigen. Die erste Zeile lautet wie folgt.
"authorization_endpoint":"https://login.microsoftonline.com/6babcaad-604b-40ac-a9d7-9fd97c0b779f/oauth2/authorize"
Die Mandanten-ID ist in diesem Fall 6babcaad-604b-40ac-a9d7-9fd97c0b779f
. Legen Sie den Wert für AAD_TENANT_ID fest, bevor Sie diesen Code ausführen.
AAD_TENANT_ID = "<TenantId>"
KUSTO_CLUSTER = "https://help.kusto.windows.net/"
KUSTO_DATABASE = "Samples"
Erstellen Sie nun die Verbindungszeichenfolge. In diesem Beispiel wird die Geräteauthentifizierung zum Zugreifen auf den Cluster verwendet. Sie können auch Microsoft Entra-Anwendungszertifikate, Microsoft Entra-Anwendungsschlüssel und Microsoft Entra-Benutzer und Kennwort verwenden.
KCSB = KustoConnectionStringBuilder.with_aad_device_authentication(
KUSTO_CLUSTER)
KCSB.authority_id = AAD_TENANT_ID
Herstellen einer Verbindung mit dem Azure-Daten-Explorer und Ausführen einer Abfrage
Führen Sie eine Abfrage auf dem Cluster aus, und speichern Sie die Ausgabe in einem Datenrahmen. Wenn dieser Code ausgeführt wird, gibt er eine Meldung wie die folgende zurück: Verwenden Sie zum Anmelden einen Webbrowser, um die Seite https://microsoft.com/devicelogin zu öffnen, und geben Sie den Code F3W4VWZDM ein, um sich zu authentifizieren. Befolgen Sie die Schritte für die Anmeldung, und kehren Sie dann zurück, um den Codeblock auszuführen.
KUSTO_CLIENT = KustoClient(KCSB)
KUSTO_QUERY = "StormEvents | sort by StartTime desc | take 10"
RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)
Durchsuchen von Daten im Datenrahmen
Nachdem Sie eine Anmeldung eingeben, gibt die Abfrage Ergebnisse zurück, die daraufhin in einem Datenrahmen gespeichert werden. Sie können mit den Ergebnissen wie mit allen anderen Datenrahmen arbeiten.
df = dataframe_from_result_table(RESPONSE.primary_results[0])
df
Es sollten die ersten zehn Ergebnisse aus der Tabelle „StormEvents“ angezeigt werden.