Consultar dados com a biblioteca Python do Azure Data Explorer
Neste artigo, vai consultar dados com a Data Explorer do Azure. O Azure Data Explorer é um serviço de exploração de dados rápido e altamente dimensionável para dados telemétricos e de registo.
O Azure Data Explorer fornece uma biblioteca de cliente de dados ao Python. Esta biblioteca permite-lhe consultar dados a partir do código. Ligue-se a uma tabela no cluster de ajuda que configurámos para ajudar na aprendizagem. Pode consultar uma tabela nesse cluster e devolver os resultados.
Pré-requisitos
- Python 3.7 ou posterior
- Uma conta Microsoft ou uma identidade de utilizador Microsoft Entra para aceder ao cluster de ajuda
Instalar a biblioteca de dados
Instale azure-kusto-data.
pip install azure-kusto-data
Adicionar declarações e constantes de importação
Importe classes de biblioteca, bem como o pandas, uma biblioteca de análise de dados.
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 uma aplicação, o Azure Data Explorer utiliza o seu ID de inquilino Microsoft Entra. Para localizar o ID de inquilino, utilize o seguinte URL, substituindo o domínio pelo SeuDomínio.
https://login.microsoftonline.com/<YourDomain>/.well-known/openid-configuration/
Por exemplo, se o seu domínio for contoso.com, o URL é: https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Clique neste URL para ver os resultados; a primeira linha é igual à seguinte.
"authorization_endpoint":"https://login.microsoftonline.com/6babcaad-604b-40ac-a9d7-9fd97c0b779f/oauth2/authorize"
Neste caso, o ID de inquilino é 6babcaad-604b-40ac-a9d7-9fd97c0b779f
. Defina o valor para AAD_TENANT_ID antes de executar este código.
AAD_TENANT_ID = "<TenantId>"
KUSTO_CLUSTER = "https://help.kusto.windows.net/"
KUSTO_DATABASE = "Samples"
Agora construa a cadeia de ligação. Este exemplo utiliza a autenticação do dispositivo para aceder ao cluster. Também pode utilizar Microsoft Entra certificado de aplicação, Microsoft Entra chave de aplicação e Microsoft Entra utilizador e palavra-passe.
KCSB = KustoConnectionStringBuilder.with_aad_device_authentication(
KUSTO_CLUSTER)
KCSB.authority_id = AAD_TENANT_ID
Ligar ao Azure Data Explorer e executar uma consulta
Executar uma consulta contra o cluster e armazenar o resultado num pacote de dados. Quando este código é executado, devolve uma mensagem semelhante à seguinte: Para iniciar sessão, utilize um browser para abrir a página https://microsoft.com/devicelogin e introduza o código F3W4VWZDM para autenticar. Siga os passos para iniciar sessão e volte para executar o bloco de código seguinte.
KUSTO_CLIENT = KustoClient(KCSB)
KUSTO_QUERY = "StormEvents | sort by StartTime desc | take 10"
RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)
Explorar dados em DataFrame
Depois de introduzir um início de sessão, a consulta devolve resultados e estes são armazenados num pacote de dados. Pode trabalhar com os resultados, tal como faz com qualquer outro pacote de dados.
df = dataframe_from_result_table(RESPONSE.primary_results[0])
df
Deve ver os dez principais resultados da tabela StormEvents.