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

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

Zum Authentifizieren einer Anwendung 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 Anwendungszertifikat, 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, wird eine Meldung wie die folgende zurückgegeben: Verwenden Sie zur Anmeldung einen Webbrowser, um die Seite https://microsoft.com/devicelogin zu öffnen. Geben Sie dann zur Authentifizierung den Code F3W4VWZDM ein. 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.

Nächster Schritt