Azure Data Explorer クラスターとデータベースを作成します
Azure Data Explorer は、アプリケーション、Web サイト、IoT デバイスなどからの大量のデータ ストリーミングをリアルタイムに分析するための高速でフル マネージドのデータ分析サービスです。 Azure Data Explorer を使用するには、最初にクラスターを作成し、そのクラスター内に 1 つまたは複数のデータベースを作成します。 その後、データをデータベースに取り込み (読み込み)、データに対してクエリを実行できます。
この記事では、C#、Python、Go、Azure CLI、PowerShell、または Azure Resource Manager (ARM) テンプレートを使用してクラスターとデータベースを作成する方法について説明します。 Azure portal を使用してクラスターとデータベースを作成する方法を確認するには、「クイック スタート: Azure Data Explorer クラスターとデータベースを作成する」を参照してください。
以前の SDK バージョンに基づくコード サンプルについては、アーカイブ記事を参照してください。
前提条件
クラスターとデータベースの作成方法別の前提条件:
- Azure サブスクリプション。 無料の Azure アカウントを作成します。
- Visual Studio 2022 Community エディション。 Visual Studio のセットアップ中に、[Azure の開発] を有効にしてください。
- Microsoft.Azure.Management.Kusto NuGet パッケージをインストールします。
- リソースにアクセスできる Microsoft Entra アプリケーションとサービス プリンシパル。 ディレクトリ (テナント) ID、アプリケーション ID、クライアント シークレットを保存します。
Azure Data Explorer クラスターを作成します
このセクションでは、Azure Data Explorer クラスターを作成するプロセスについて説明します。 クラスターを作成するために推奨される方法に関連するタブを選択します。
次のコードを使用してクラスターを作成します。
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。 層 Standard SKU レベル。 容量 number クラスターのインスタンスの数。 resourceGroupName testrg クラスターが作成されるリソース グループの名前。 Note
クラスターの作成 は長時間実行される動作であるため、CreateOrUpdate の代わりに CreateOrUpdateAsync を使用することを強くお勧めします。
クラスターが正常に作成されたかどうかを確認するには、次のコマンドを実行します。
clusterData = (await clusters.GetAsync(clusterName)).Value.Data;
結果に
provisioningState
がSucceeded
として含まれていることを確認して、クラスターの正常な作成を確認します。
Azure Data Explorer データベースを作成する
このセクションでは、前のセクションで作成したクラスター内にデータベースを作成します。
次のコードを使用してデータベースを作成します。
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);
Note
C# バージョン 2.0.0 以前を使用している場合は、ReadWriteDatabase ではなく Database を使用します。
設定 推奨値 フィールドの説明 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;