使用 Azure 資料總管 Python 程式庫查詢資料
在本文中,您會使用 Azure 數據總管來查詢數據。 Azure 資料總管是快速及可調整的資料探索服務,以取得記錄和遙測資料。
Azure 數據總管提供 適用於 Python 的數據客戶端連結庫。 此連結庫可讓您從程式代碼查詢數據。 線上到我們已設定協助學習的說明 叢集 上的數據表。 您可以在該叢集上查詢數據表,並傳回結果。
必要條件
- Python 3.7 或更新版本
- Microsoft帳戶或Microsoft Entra 使用者身分識別來存取 說明叢集
安裝資料庫
安裝 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 數據表的前十個結果。