Eseguire query sui dati usando la libreria di Esplora dati di Azure per Python

In questo articolo si esegue una query sui dati usando l'Esplora dati di Azure. Esplora dati di Azure è un servizio di esplorazione dati rapido e a scalabilità elevata per dati di log e di telemetria.

Esplora i dati di Azure mette a disposizione una libreria client per i dati per Python. Questa libreria consente di eseguire query sui dati dal codice. Connettersi a una tabella nel cluster della Guida configurato per facilitare l'apprendimento. È possibile eseguire una query su una tabella in tale cluster e restituire i risultati.

Prerequisiti

Installare la libreria per i dati

Installare azure-kusto-data.

pip install azure-kusto-data

Aggiungere le costanti e le istruzioni import

Importare le classi dalla libreria, nonché pandas, una libreria di analisi dei dati.

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

Per autenticare un'applicazione, Azure Esplora dati usa l'ID tenant Microsoft Entra. Per trovare l'ID del tenant, usare l'URL seguente, sostituendo il dominio a YourDomain.

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

Ad esempio, se il dominio è contoso.com, l'URL è: https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Fare clic su questo URL per visualizzare i risultati; la prima riga è come indicato di seguito.

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

Il tenant ID in questo caso è 6babcaad-604b-40ac-a9d7-9fd97c0b779f. Prima di eseguire questo codice, impostare il valore di AAD_TENANT_ID.

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

Costruire ora la stringa di connessione. Questo esempio usa l'autenticazione del dispositivo per accedere al cluster. È anche possibile usare Microsoft Entra certificato applicazione, Microsoft Entra chiave applicazione e Microsoft Entra utente e password.

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

Connettersi a Esplora dati di Azure ed eseguire una query

Eseguire una query sul cluster e archiviare l'output in un frame di dati. Quando viene eseguito questo codice, restituisce un messaggio simile al seguente: Per accedere, usare un web browser per aprire la pagina https://microsoft.com/devicelogin e immettere il codice F3W4VWZDM per l'autenticazione. Seguire i passaggi per l'accesso, quindi tornare per eseguire il blocco di codice successivo.

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

RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)

Esplorare i dati in DataFrame

Dopo che è stato eseguito l'accesso, la query restituisce risultati, che vengono archiviati in un frame di dati. È possibile usare i risultati in modo analogo a qualsiasi altro frame di dati.

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

I primi dieci risultati visualizzati provengono dalla tabella StormEvents.

Passaggio successivo