建立 Azure 資料總管叢集與資料庫
Azure Data Explorer 是快速、完全受控的資料分析服務,可即時分析來自應用程式、網站、IoT 裝置等的大量資料流。 若要使用 Azure 數據總管,請先建立叢集,然後在該叢集中建立一或多個資料庫。 然後,您可以將數據擷取(載入)到資料庫中,並針對它執行查詢。
在本文中,您將瞭解如何使用 C#、Python、Go、Azure CLI、PowerShell 或 Azure Resource Manager (ARM) 範本來建立叢集和資料庫。 若要瞭解如何使用 Azure 入口網站 建立叢集和資料庫,請參閱快速入門:建立 Azure 數據總管叢集和資料庫。
如需以舊版 SDK 為基礎的程式代碼範例,請參閱 封存一文。
必要條件
叢集和資料庫建立方法的必要條件:
- Azure 訂用帳戶。 建立免費的 Azure 帳戶。
- Visual Studio 2022 Community Edition。 在 Visual Studio 設定期間開啟 Azure 開發 。
- 安裝 Microsoft.Azure.Management.Kusto NuGet 套件。
- 可存取資源的Microsoft Entra 應用程式和服務主體。 儲存 目錄(租使用者)標識碼、 應用程式識別碼和 客戶端密碼。
建立 Azure 數據總管叢集
本節會引導您完成建立 Azure 數據總管叢集的程式。 選擇您慣用方法的相關索引標籤,以建立叢集。
使用下列程式代碼建立叢集:
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Directory (tenant) ID var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Application ID var clientSecret = "PlaceholderClientSecret"; //Client Secret var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret); var resourceManagementClient = new ArmClient(credentials, subscriptionId); var resourceGroupName = "testrg"; var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync(); var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value; var clusters = resourceGroup.GetKustoClusters(); var clusterName = "mykustocluster"; var skuName = KustoSkuName.StandardE8adsV5; var skuTier = KustoSkuTier.Standard; var capacity = 5; var clusterData = new KustoClusterData( location: AzureLocation.CentralUS, sku: new KustoSku(skuName, skuTier) { Capacity = capacity } ); await clusters.CreateOrUpdateAsync(WaitUntil.Completed, clusterName, clusterData);
設定 建議的值 欄位描述 clusterName mykustocluster 叢集所需的名稱。 skuName Standard_E8ads_v5 將用於叢集的 SKU。 階層 標準 SKU 層。 處理能力 number 叢集實例的數目。 resourceGroupName testrg 將建立叢集的資源組名。 注意
建立叢集 是長時間執行的作業,因此強烈建議使用 CreateOrUpdateAsync,而不是 CreateOrUpdate。
執行下列命令來檢查您的叢集是否已成功建立:
clusterData = (await clusters.GetAsync(clusterName)).Value.Data;
確認成功建立叢集,方法是確認結果包含
provisioningState
為Succeeded
。
建立 Azure 數據總管資料庫
在本節中,您將在上一節中建立的叢集內建立資料庫。
使用下列程式代碼建立資料庫:
var cluster = (await clusters.GetAsync(clusterName)).Value; var databases = cluster.GetKustoDatabases(); var databaseName = "mykustodatabase"; var softDeletePeriod = TimeSpan.FromDays(3650); var hotCachePeriod = TimeSpan.FromDays(3650); var databaseData = new KustoReadWriteDatabase { Location = clusterData.Location, SoftDeletePeriod = softDeletePeriod, HotCachePeriod = hotCachePeriod }; await databases.CreateOrUpdateAsync(WaitUntil.Completed, databaseName, databaseData);
注意
如果您使用 C# 2.0.0 版或更新版本,請使用 Database 而非 ReadWriteDatabase。
設定 建議的值 欄位描述 clusterName mykustocluster 將建立資料庫之叢集的名稱。 databaseName mykustodatabase 您的資料庫名稱。 resourceGroupName testrg 將建立叢集的資源組名。 softDeletePeriod 3650:00:00:00 數據可供查詢的時間量。 hotCachePeriod 3650:00:00:00 數據將保留在快取中的時間量。 執行下列命令以檢視您所建立的資料庫:
databaseData = (await databases.GetAsync(databaseName)).Value.Data as KustoReadWriteDatabase;