共用方式為


使用 Azure 資料總管 Python 程式庫查詢資料

在本文中,您會使用 Azure 數據總管來查詢數據。 Azure 資料總管是快速及可調整的資料探索服務,以取得記錄和遙測資料。

Azure 數據總管提供 適用於 Python 的數據客戶端連結庫。 此連結庫可讓您從程式代碼查詢數據。 線上到我們已設定協助學習的說明 叢集 上的數據表。 您可以在該叢集上查詢數據表,並傳回結果。

必要條件

安裝資料庫

安裝 azure-kusto-data

pip install azure-kusto-data

新增匯入語句和常數

從連結庫匯入類別,以及 pandas,這是數據分析連結庫。

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

若要驗證應用程式,Azure 數據總管會使用您的Microsoft Entra 租使用者標識碼。 若要尋找您的租使用者標識碼,請使用下列URL,以您的網域 取代YourDomain

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

例如,如果您的網域是 contoso.com,則URL為: https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/。 按兩下此網址以查看結果;第一行如下所示。

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

在此情況下,租使用者識別碼為 6babcaad-604b-40ac-a9d7-9fd97c0b779f。 在執行此程式代碼之前,請先設定AAD_TENANT_ID的值。

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

現在建構 連接字串。 此範例會使用裝置驗證來存取叢集。 您也可以使用 Microsoft Entra 應用程式憑證Microsoft Entra 應用程式密鑰,以及 Microsoft Entra 使用者和密碼

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

聯機到 Azure 數據總管並執行查詢

針對叢集執行查詢,並將輸出儲存在數據框架中。 當此程式代碼執行時,它會傳回如下的訊息: 若要登入,請使用網頁瀏覽器開啟頁面 https://microsoft.com/devicelogin ,並輸入程式代碼F3W4VWZDM進行驗證。 請遵循步驟登入,然後返回執行下一個程式代碼區塊。

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

RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)

探索 DataFrame 中的數據

輸入登入之後,查詢會傳回結果,並儲存在數據框架中。 您可以使用結果,就像執行任何其他數據框架一樣。

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

您應該會看到 StormEvents 數據表的前十個結果。

後續步驟