Skapa ett Azure Data Explorer kluster och en databas med C #

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 matar du in (läser in) data i databasen så att du kan köra frågor mot den. I den här artikeln skapar du ett kluster och en databas med hjälp av C#.

Förutsättningar

Installera C# NuGet

Autentisering

För att köra exemplen i den här artikeln behöver vi ett Azure AD-program och tjänstens huvudnamn som kan komma åt resurser. Markera skapa ett Azure AD-program för att skapa ett kostnadsfritt Azure AD-program och lägg till rolltilldelning i prenumerationsomfånget. Den visar också hur du hämtar Directory (tenant) ID , Application ID och Client Secret .

Skapa Azure Data Explorer-klustret

  1. 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 = "xxxxxxxxxxxxxx";//Client Secret
    var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
    var authenticationContext = new AuthenticationContext($"https://login.windows.net/{tenantId}");
    var credential = new ClientCredential(clientId, clientSecret);
    var result = await authenticationContext.AcquireTokenAsync(resource: "https://management.core.windows.net/", clientCredential: credential);
    
    var credentials = new TokenCredentials(result.AccessToken, result.AccessTokenType);
    
    var kustoManagementClient = new KustoManagementClient(credentials)
    {
        SubscriptionId = subscriptionId
    };
    
    var resourceGroupName = "testrg";
    var clusterName = "mykustocluster";
    var location = "Central US";
    var skuName = "Standard_D13_v2";
    var tier = "Standard";
    var capacity = 5;
    var sku = new AzureSku(skuName, tier, capacity);
    var cluster = new Cluster(location, sku);
    await kustoManagementClient.Clusters.CreateOrUpdateAsync(resourceGroupName, clusterName, cluster);
    
    Inställning Föreslaget värde Fältbeskrivning
    clusterName mykustocluster Önskat namn på klustret.
    skuName Standard_D13_v2 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.

    Anteckning

    Skapa ett kluster är en långvarig åtgärd, så vi rekommenderar starkt att du använder CreateOrUpdateAsync i stället för CreateOrUpdate.

  2. Kör följande kommando för att kontrollera om klustret har skapats:

    kustoManagementClient.Clusters.Get(resourceGroupName, clusterName);
    

Om resultatet innehåller ProvisioningState med värdet Succeeded har klustret skapats.

Skapa databasen i Azure Data Explorer-klustret

  1. Skapa databasen med hjälp av följande kod:

    var hotCachePeriod = new TimeSpan(3650, 0, 0, 0);
    var softDeletePeriod = new TimeSpan(3650, 0, 0, 0);
    var databaseName = "mykustodatabase";
    var database = new ReadWriteDatabase(location: location, softDeletePeriod: softDeletePeriod, hotCachePeriod: hotCachePeriod);
    
    await kustoManagementClient.Databases.CreateOrUpdateAsync(resourceGroupName, clusterName, databaseName, database);
    

    Anteckning

    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.
  2. Kör följande kommando för att se den databas som du skapade:

    kustoManagementClient.Databases.Get(resourceGroupName, clusterName, databaseName) as ReadWriteDatabase;
    

Nu har du ett kluster och en databas.

Rensa resurser

  • Om du planerar att följa våra andra artiklar behåller du de resurser som du har skapat.

  • Ta bort klustret om du vill rensa resurser. När du tar bort ett kluster, raderas också alla databaser i den. Använd följande kommando för att ta bort klustret:

    kustoManagementClient.Clusters.Delete(resourceGroupName, clusterName);
    

Nästa steg