Aggiungere entità di database per Azure Esplora dati

Esplora dati di Azure è un servizio di esplorazione dati rapido e a scalabilità elevata per dati di log e di telemetria. Questo articolo illustra come aggiungere entità di database per Azure Esplora dati usando C#, Python o un modello di Azure Resource Manager (ARM).

Prerequisiti

I prerequisiti variano in base al metodo usato per aggiungere l'entità. Scegliere la scheda pertinente per il metodo preferito.

L'elenco seguente illustra i prerequisiti per aggiungere un'entità cluster con C#.

Aggiungere un'entità di database

Eseguire il codice seguente per aggiungere un'entità di database:

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";
//The cluster that is created as part of the Prerequisites
var clusterName = "mykustocluster";
var databaseName = "mykustodatabase";
var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value;
var database = (await cluster.GetKustoDatabaseAsync(databaseName)).Value;
var databasePrincipalAssignments = database.GetKustoDatabasePrincipalAssignments();
var databasePrincipalAssignmentName = "mykustodatabaseprincipalassignment";
var principalId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //User email, application ID, or security group name
var role = KustoDatabasePrincipalRole.Admin; //Admin, Ingestor, Monitor, User, UnrestrictedViewers, Viewer
var tenantIdForPrincipal = new Guid("xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx");
var principalType = KustoPrincipalAssignmentType.App; //User, App, or Group
var databasePrincipalAssignmentData = new KustoDatabasePrincipalAssignmentData
{
    DatabasePrincipalId = principalId, Role = role, PrincipalType = principalType, TenantId = tenantIdForPrincipal
};
await databasePrincipalAssignments.CreateOrUpdateAsync(
    WaitUntil.Completed, databasePrincipalAssignmentName, databasePrincipalAssignmentData
);
Impostazione Valore consigliato Descrizione campo
TenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID tenant. Noto anche come ID directory.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx L'ID sottoscrizione usato per la creazione di risorse.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx L'ID client dell'applicazione che può accedere alle risorse nel tenant.
clientSecret PlaceholderClientSecret Il segreto client dell'applicazione che può accedere alle risorse nel tenant.
resourceGroupName testrg Nome del gruppo di risorse contenente il cluster.
clusterName mykustocluster Nome del cluster.
databaseName mykustodatabase Nome del database.
databasePrincipalAssignmentName mykustodatabaseprincipalassignment Nome della risorsa dell'entità di database.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID principale, che può essere indirizzo di posta elettronica dell'utente, ID applicazione o nome del gruppo di sicurezza.
ruolo Admin Ruolo dell'entità di database, che può essere 'Amministrazione', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewers', 'Viewer'.
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx ID tenant dell'entità.
principalType App Tipo dell'entità, che può essere "User", "App" o "Group"