Consulta de datos mediante la biblioteca de Python de Azure Data Explorer
En este artículo, se van a consultar datos mediante Azure Data Explorer. El Explorador de datos de Azure es un servicio de exploración de datos altamente escalable y rápido para datos de telemetría y registro.
El Explorador de datos de Azure proporciona un biblioteca de cliente de datos para Python. Esta biblioteca permite consultar los datos desde el código. Conéctese a una tabla en el clúster de ayuda que se ha configurado para facilitar el aprendizaje. Puede consultar una tabla de ese clúster y devolver los resultados.
Requisitos previos
- Python 3.7 o versiones posteriores
- Una cuenta de Microsoft o una identidad de usuario Microsoft Entra para acceder al clúster de ayuda
Instalar la biblioteca de datos
Instale azure-kusto-data.
pip install azure-kusto-data
Incorporación de instrucciones de importación y constantes
Importe clases de la biblioteca, así como Pandas, una biblioteca de análisis de datos.
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
Para autenticar una aplicación, Azure Data Explorer usa el identificador de inquilino de Microsoft Entra. Para buscar el identificador de inquilino, use la dirección URL siguiente, sustituyendo su dominio por SuDominio.
https://login.microsoftonline.com/<YourDomain>/.well-known/openid-configuration/
Por ejemplo, si el nombre de dominio es contoso.com, la dirección URL es: https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Haga clic en esta dirección URL para ver los resultados. la primera línea es como sigue.
"authorization_endpoint":"https://login.microsoftonline.com/6babcaad-604b-40ac-a9d7-9fd97c0b779f/oauth2/authorize"
En este caso es el id. de inquilino es 6babcaad-604b-40ac-a9d7-9fd97c0b779f
. Establezca el valor de AAD_TENANT_ID antes de ejecutar este código.
AAD_TENANT_ID = "<TenantId>"
KUSTO_CLUSTER = "https://help.kusto.windows.net/"
KUSTO_DATABASE = "Samples"
Ahora, cree la cadena de conexión. En este ejemplo se utiliza la autenticación de dispositivos para acceder al clúster. También puede usar Microsoft Entra certificado de aplicación, Microsoft Entra clave de aplicación y Microsoft Entra usuario y contraseña.
KCSB = KustoConnectionStringBuilder.with_aad_device_authentication(
KUSTO_CLUSTER)
KCSB.authority_id = AAD_TENANT_ID
Conectarse al Explorador de datos de Azure y ejecutar una consulta
Ejecute una consulta en el clúster y almacene el resultado en un marco de datos. Cuando se ejecuta este código, devuelve un mensaje similar al siguiente: Para iniciar sesión, use un explorador web para abrir la página https://microsoft.com/devicelogin y escriba el código F3W4VWZDM para realizar la autenticación. Siga los pasos para iniciar sesión y después vuelva a ejecutar el siguiente bloque de código.
KUSTO_CLIENT = KustoClient(KCSB)
KUSTO_QUERY = "StormEvents | sort by StartTime desc | take 10"
RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)
Exploración de los datos en DataFrame
Después de especificar un inicio de sesión, la consulta devuelve resultados, que se almacenan en un marco de datos. Puede trabajar con los resultados como hace con cualquier otro marco de datos.
df = dataframe_from_result_table(RESPONSE.primary_results[0])
df
Debe ver los diez primeros resultados de la tabla StormEvents.