Condividi tramite


Hello Kusto: Creare la prima app

In questo articolo vengono illustrate le operazioni seguenti:

  • Creare la prima app client
  • Usare l'autenticazione interattiva
  • Eseguire una query di base che stampa Hello Kusto.

Prerequisiti

Configurare l'ambiente di sviluppo per usare la libreria client Kusto.

Creare l'app

Nell'IDE o nell'editor di testo preferito creare un progetto o un file denominato hello kusto usando la convenzione appropriata per la lingua preferita. Aggiungere quindi il codice seguente:

  1. Aggiungere le classi del client Kusto e del generatore di stringhe.

    using Kusto.Data;
    using Kusto.Data.Net.Client;
    
  2. Definire una funzione vuota denominata main e chiamarla.

    namespace HelloKusto {
      class HelloKusto {
        static void Main(string[] args) {
        }
      }
    }
    
  3. Creare un oggetto generatore di stringa di connessione che definisce l'URI del cluster e imposta la modalità di autenticazione su interattivo. Per altre informazioni sull'URI del cluster, vedere Stringhe di connessione Kusto.

    var clusterUri = "https://help.kusto.windows.net/";
    var kcsb = new KustoConnectionStringBuilder(clusterUri).WithAadUserPromptAuthentication();
    

    Nota

    Per l'autenticazione interattiva, è necessario un account Microsoft o un'identità utente Microsoft Entra. Non è necessaria una sottoscrizione di Azure.

    In C#, il processo di autenticazione interattiva potrebbe non richiedere all'utente se:

    • L'utente è già autenticato nel dispositivo
    • Nel dispositivo è presente un'autenticazione dell'interfaccia utente Web Kusto.Explorer o Azure Date Explorer
  4. Creare un oggetto client che usa l'oggetto generatore stringa di connessione per connettersi al cluster.

    Nota

    È consigliabile memorizzare nella cache e riutilizzare l'istanza del client Kusto. La ricreazione frequente dei client Kusto può causare una riduzione delle prestazioni nell'applicazione e un aumento del carico nel cluster.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. Definire il database e la query da eseguire. La query stampa Hello Kusto! in una colonna denominata Welcome.

    var database = "Samples";
    var query = "print Welcome='Hello Kusto!'";
    
  6. Eseguire la query e stampare il risultato.

    using (var response = kustoClient.ExecuteQuery(database, query, null)) {
      response.Read();
      int columnNo = response.GetOrdinal("Welcome");
      Console.WriteLine(response.GetString(columnNo));
    }
    

    Nota

    L'output della query viene restituito nella risposta come oggetto che contiene una o più tabelle, costituite da una o più righe e colonne. Il formato dell'oggetto dipende dalla lingua della libreria client.

    La query kusto di stampa restituisce una singola tabella con una riga e una colonna.

    La risposta è un oggetto DataReader . È possibile fare riferimento al risultato, come indicato di seguito:

    • Utilizzare il metodo Read() per leggere la prima riga
    • Usare il metodo GetString() per ottenere il valore della prima colonna

Il codice completo dovrebbe essere simile al seguente:

using Kusto.Data;
using Kusto.Data.Net.Client;

namespace HelloKusto {
  class HelloKusto {
    static void Main(string[] args) {
      string clusterUri = "https://help.kusto.windows.net/";
      var kcsb = new KustoConnectionStringBuilder(clusterUri).WithAadUserPromptAuthentication();
    
      using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
        string database = "Samples";
        string query = "print Welcome='Hello Kusto!'";

        using (var response = kustoClient.ExecuteQuery(database, query, null)) {
          response.Read();
          int columnNo = response.GetOrdinal("Welcome");
          Console.WriteLine(response.GetString(columnNo));
        }
      }
    }
  }
}

Eseguire l'app

In una shell dei comandi usare il comando seguente per eseguire l'app:

# Change directory to the folder that contains the hello world project
dotnet run .

Verrà visualizzato un risultato simile al seguente:

Hello Kusto!

Passaggio successivo