Interroger des données à l’aide de la bibliothèque Python d’Azure Data Explorer

Dans cet article, vous allez interroger des données en utilisant Azure Data Explorer. L’Explorateur de données Azure est un service d’exploration de données rapide et hautement évolutive pour les données des journaux et les données de télémétrie.

L’Explorateur de données Azure fournit une bibliothèque cliente de données pour Python. Cette bibliothèque vous permet d’interroger les données de votre code. Connectez-vous à une table du cluster d’aide que nous avons configuré pour faciliter l’apprentissage. Vous pouvez interroger une table de ce cluster, puis retourner les résultats.

Conditions préalables requises

Installer la bibliothèque de données

Installez azure-kusto-data.

pip install azure-kusto-data

Ajouter les constantes et les instructions d’importation

Importez des classes de la bibliothèque ainsi que pandas, bibliothèque d’analyse de données.

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

Pour authentifier une application, Azure Data Explorer utilise votre ID de locataire Microsoft Entra. Pour trouver votre ID de locataire, utilisez l’URL suivante en remplaçant YourDomain par votre domaine.

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

Par exemple, si votre domaine est contoso.com, l’URL est : https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Cliquez sur cette URL pour voir les résultats. La première ligne est la suivante.

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

Ici, l’ID de locataire est 6babcaad-604b-40ac-a9d7-9fd97c0b779f. Définissez la valeur pour AAD_TENANT_ID avant d’exécuter ce code.

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

Maintenant, créez la chaîne de connexion. Cet exemple utilise l’authentification de l’appareil pour accéder au cluster. Vous pouvez également utiliser Microsoft Entra certificat d’application, Microsoft Entra clé d’application et Microsoft Entra utilisateur et mot de passe.

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

Se connecter à l’Explorateur de données Azure et exécuter une requête

Exécutez une requête sur le cluster et stockez le résultat dans un dataframe. Lorsque ce code s’exécute, il retourne un message similaire au suivant : Pour vous connecter, utilisez un navigateur web pour ouvrir la page https://microsoft.com/devicelogin et entrez le code F3W4VWZDM pour l’authentification. Suivez les étapes pour vous connecter, puis revenez pour exécuter le bloc de code suivant.

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

RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)

Explorer les données dans un dataframe

Après avoir entré un identifiant, la requête retourne les résultats, qui sont stockés dans un dataframe. Vous pouvez utiliser les résultats comme vous le faites dans n’importe quel autre dataframe.

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

Vous devriez voir les dix premiers résultats de la table StormEvents.

Étape suivante