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 クラスターとデータベースを作成する」を参照してください。
前提条件
クラスターとデータベースの作成方法別の前提条件:
- Azure サブスクリプション。 無料の Azure アカウントを作成します。
- Visual Studio 2022 Community エディション。 Visual Studio のセットアップ中に、[Azure の開発] を有効にしてください。
- Microsoft.Azure.Management.Kusto NuGet パッケージをインストールします。
- リソースにアクセスできる Azure AD アプリケーションとサービス プリンシパル。 ディレクトリ (テナント) 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 authClient = ConfidentialClientApplicationBuilder.Create(clientId) .WithAuthority($"https://login.microsoftonline.com/{tenantId}") .WithClientSecret(clientSecret) .Build(); var result = authClient.AcquireTokenForClient(new[] { "https://management.core.windows.net/" }).ExecuteAsync().Result; var credentials = new TokenCredentials(result.AccessToken, result.TokenType); var kustoManagementClient = new KustoManagementClient(credentials) { SubscriptionId = subscriptionId }; var resourceGroupName = "testrg"; var clusterName = "mykustocluster"; var skuName = KustoSkuName.StandardE8adsV5; var skuTier = KustoSkuTier.Standard; var capacity = 5; var clusterData = new Cluster( location: "Central US", sku: new AzureSku(skuName, skuTier, capacity) ); await kustoManagementClient.Clusters.CreateOrUpdateAsync(resourceGroupName, clusterName, clusterData);
設定 推奨値 フィールドの説明 clusterName mykustocluster クラスターの任意の名前。 skuName Standard_E8ads_v5 クラスターに使用される SKU。 層 Standard SKU レベル。 容量 number クラスターのインスタンスの数。 resourceGroupName testrg クラスターが作成されるリソース グループの名前。 Note
クラスターの作成 は長時間実行される動作であるため、CreateOrUpdate の代わりに CreateOrUpdateAsync を使用することを強くお勧めします。
クラスターが正常に作成されたかどうかを確認するには、次のコマンドを実行します。
clusterData = await kustoManagementClient.Clusters.GetAsync(resourceGroupName, clusterName);
結果に
provisioningState
がSucceeded
として含まれていることを確認して、クラスターの正常な作成を確認します。
Azure Data Explorer データベースを作成する
このセクションでは、前のセクションで作成したクラスター内にデータベースを作成します。
次のコードを使用してデータベースを作成します。
var databaseName = "mykustodatabase"; var softDeletePeriod = TimeSpan.FromDays(3650); var hotCachePeriod = TimeSpan.FromDays(3650); var databaseData = new ReadWriteDatabase( location: clusterData.Location, softDeletePeriod: softDeletePeriod, hotCachePeriod: hotCachePeriod ); await kustoManagementClient.Databases.CreateOrUpdateAsync(resourceGroupName, clusterName, 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 kustoManagementClient.Databases.GetAsync(resourceGroupName, clusterName, databaseName) as ReadWriteDatabase;