Condividi tramite


Aggiungere entità cluster 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. In questo articolo si apprenderà come aggiungere entità cluster per Azure Esplora dati usando C#, Python o un modello di Azure Resource Manager (ARM).

Per esempi di codice basati sulle versioni precedenti di SDK, vedere l'articolo archiviato.

Prerequisiti

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

Nell'elenco seguente vengono descritti i prerequisiti per aggiungere un'entità cluster con C#.

Aggiungere un'entità cluster

Eseguire il codice seguente per aggiungere un'entità cluster:

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 subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value;
var clusterPrincipalAssignments = cluster.GetKustoClusterPrincipalAssignments(); 
var clusterPrincipalAssignmentName = "mykustoclusterprincipalassignment";
var principalId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //User email, application ID, or security group name
var role = KustoClusterPrincipalRole.AllDatabasesAdmin; //AllDatabasesAdmin or AllDatabasesViewer
var tenantIdForPrincipal = new Guid("xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx");
var principalType = KustoPrincipalAssignmentType.App; //User, App, or Group
var clusterPrincipalAssignmentData = new KustoClusterPrincipalAssignmentData
{
    ClusterPrincipalId = principalId, Role = role, PrincipalType = principalType, TenantId = tenantIdForPrincipal
};
await clusterPrincipalAssignments.CreateOrUpdateAsync(
    WaitUntil.Completed, clusterPrincipalAssignmentName, clusterPrincipalAssignmentData
);
Impostazione Valore consigliato Descrizione campo
TenantId xxxxxxxx-xxxxx-xxxx-xxxx-xxx ID tenant. Noto anche come ID directory.
subscriptionId xxxxxxxx-xxxxx-xxxx-xxxx-xxx L'ID sottoscrizione usato per la creazione di risorse.
clientId xxxxxxxx-xxxxx-xxxx-xxxx-xxx L'ID client dell'applicazione che può accedere alle risorse nel tenant.
clientSecret SegnapostoClientSecret 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.
clusterPrincipalAssignmentName mykustoclusterprincipalassignment Nome della risorsa dell'entità cluster.
principalId xxxxxxxx-xxxxx-xxxx-xxxx-xxx ID principale, che può essere indirizzo di posta elettronica utente, ID applicazione o nome gruppo di sicurezza.
ruolo AllDatabasesAdmin Ruolo dell'entità cluster, che può essere "AllDatabasesAdmin", "AllDatabasesMonitor" o "AllDatabasesViewer".
tenantIdForPrincipal xxxxxxxx-xxxxx-xxxx-xxxx-xxx ID tenant dell'entità.
principalType App Tipo dell'entità, che può essere 'User', 'App' o 'Group'