Skapa ett Azure Data Explorer-kluster och en databas
Azure Data Explorer är en snabb, fullständigt hanterad dataanalystjänst för realtidsanalys av stora mängder data som strömmar från program, webbplatser, IoT-enheter med mera. För att använda Azure Data Explorer skapar du först ett kluster och skapar en eller flera databaser i klustret. Sedan kan du mata in (läsa in) data i en databas och köra frågor mot den.
I den här artikeln får du lära dig hur du skapar ett kluster och en databas med hjälp av antingen C#, Python, Go, Azure CLI, PowerShell eller en ARM-mall (Azure Resource Manager). Information om hur du skapar ett kluster och en databas med hjälp av Azure Portal finns i Snabbstart: Skapa ett Azure Data Explorer-kluster och en databas.
Förutsättningar
Förutsättningar efter metod för att skapa kluster och databaser:
- En Azure-prenumeration Skapa ett kostnadsfritt Azure-konto.
- Visual Studio 2022 Community Edition. Aktivera Azure-utveckling under Visual Studio-installationen.
- Installera NuGet-paketet Microsoft.Azure.Management.Kusto.
- Ett Azure AD-program och tjänstens huvudnamn som kan komma åt resurser. Spara katalog-ID:t (klientorganisation), program-ID och klienthemlighet.
Skapa ett Azure Data Explorer-kluster
Det här avsnittet vägleder dig genom processen att skapa ett Azure Data Explorer-kluster. Välj relevant flik för den metod du föredrar för att skapa klustret.
Skapa klustret med hjälp av följande kod:
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);
Inställning Föreslaget värde Fältbeskrivning clusterName mykustocluster Önskat namn på klustret. skuName Standard_E8ads_v5 Den SKU som ska användas för klustret. nivå Standard SKU-nivån. capacity nummer Antalet instanser av klustret. resourceGroupName testrg Namnet på resursgruppen där klustret kommer att skapas. Kommentar
Att skapa ett kluster är en tidskrävande åtgärd, så vi rekommenderar starkt att du använder CreateOrUpdateAsync i stället för CreateOrUpdate.
Kör följande kommando för att kontrollera om klustret har skapats:
clusterData = await kustoManagementClient.Clusters.GetAsync(resourceGroupName, clusterName);
Bekräfta att klustret har skapats genom att verifiera att resultatet innehåller
provisioningState
somSucceeded
.
Skapa en Azure Data Explorer-databas
I det här avsnittet skapar du en databas i klustret som skapades i föregående avsnitt.
Skapa databasen med hjälp av följande kod:
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);
Kommentar
Om du använder C# version 2.0.0 eller senare använder du Database i stället för ReadWriteDatabase.
Inställning Föreslaget värde Fältbeskrivning clusterName mykustocluster Namnet på det kluster där databasen ska skapas. databaseName mykustodatabase Namn på databasen. resourceGroupName testrg Namnet på resursgruppen där klustret kommer att skapas. softDeletePeriod 3650:00:00:00 Hur lång tid data ska behållas för att vara tillgängliga för frågor. hotCachePeriod 3650:00:00:00 Hur lång tid data ska behållas i cache. Kör följande kommando för att se den databas som du skapade:
databaseData = await kustoManagementClient.Databases.GetAsync(resourceGroupName, clusterName, databaseName) as ReadWriteDatabase;