Mengkueri data menggunakan pustaka Azure Data Explorer Python
Dalam artikel ini, Anda mengkueri data menggunakan Data Explorer Azure. Azure Data Explorer adalah layanan eksplorasi data yang cepat dan sangat dapat diskalakan untuk data log dan telemetri.
Azure Data Explorer menyediakan pustaka klien data untuk Python. Pustaka ini memungkinkan Anda untuk mengkueri data dari kode Anda. Sambungkan ke tabel pada kluster bantuan yang telah kami siapkan untuk membantu pembelajaran. Anda bisa mengkueri tabel pada kluster tersebut dan mengembalikan hasilnya.
Prasyarat
- Python 3.7 atau yang lebih baru
- Akun Microsoft atau identitas pengguna Microsoft Entra untuk mengakses kluster bantuan
Menginstal pustaka data
Instal azure-kusto-data.
pip install azure-kusto-data
Menambahkan pernyataan dan konstanta impor
Impor kelas dari pustaka, serta panda, pustaka analisis data.
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
Untuk mengautentikasi aplikasi, Azure Data Explorer menggunakan ID penyewa Microsoft Entra Anda. Untuk menemukan ID penyewa Anda, gunakan URL berikut, mengganti domain Anda dengan DomainAnda.
https://login.microsoftonline.com/<YourDomain>/.well-known/openid-configuration/
Misalnya, jika domain Anda contoso.com, URL-nya adalah: https://login.microsoftonline.com/contoso.com/.well-known/openid-configuration/. Klik URL ini untuk melihat hasilnya; baris pertama adalah sebagai berikut.
"authorization_endpoint":"https://login.microsoftonline.com/6babcaad-604b-40ac-a9d7-9fd97c0b779f/oauth2/authorize"
ID penyewa dalam hal ini adalah 6babcaad-604b-40ac-a9d7-9fd97c0b779f
. Atur nilai untuk AAD_TENANT_ID sebelum menjalankan kode ini.
AAD_TENANT_ID = "<TenantId>"
KUSTO_CLUSTER = "https://help.kusto.windows.net/"
KUSTO_DATABASE = "Samples"
Sekarang buat string koneksi. Contoh ini menggunakan autentikasi perangkat untuk mengakses kluster. Anda juga dapat menggunakan sertifikat aplikasi Microsoft Entra, kunci aplikasi Microsoft Entra, dan Microsoft Entra pengguna dan kata sandi.
KCSB = KustoConnectionStringBuilder.with_aad_device_authentication(
KUSTO_CLUSTER)
KCSB.authority_id = AAD_TENANT_ID
Menyambungkan ke Azure Data Explorer dan menjalankan kueri
Jalankan kueri terhadap kluster dan simpan output dalam bingkai data. Saat kode ini berjalan, kode mengembalikan pesan seperti berikut ini: Untuk masuk, gunakan browser web untuk membuka halaman https://microsoft.com/devicelogin dan memasukkan kode F3W4VWZDM untuk mengautentikasi. Ikuti langkah-langkah untuk masuk, lalu kembali untuk menjalankan blok kode berikutnya.
KUSTO_CLIENT = KustoClient(KCSB)
KUSTO_QUERY = "StormEvents | sort by StartTime desc | take 10"
RESPONSE = KUSTO_CLIENT.execute(KUSTO_DATABASE, KUSTO_QUERY)
Menjelajahi data di DataFrame
Setelah Anda memasukkan masuk, kueri mengembalikan hasil, dan disimpan dalam bingkai data. Anda dapat bekerja dengan hasilnya seperti anda melakukan bingkai data lainnya.
df = dataframe_from_result_table(RESPONSE.primary_results[0])
df
Anda akan melihat sepuluh hasil teratas dari tabel StormEvents.