Partage via


Hello Kusto : Créer votre première application

Dans cet article, vous apprendrez comment :

  • Créer votre première application cliente
  • Utiliser l’authentification interactive
  • Exécutez une requête de base qui imprime Hello Kusto !

Prérequis

Configurez votre environnement de développement pour utiliser la bibliothèque de client Kusto.

Créer votre application

Dans votre IDE ou éditeur de texte préféré, créez un projet ou un fichier nommé hello kusto en utilisant la convention appropriée pour votre langue préférée. Ensuite, ajoutez le code suivant :

  1. Ajoutez les classes du client Kusto et du générateur de chaînes.

    using Kusto.Data;
    using Kusto.Data.Net.Client;
    
  2. Définissez une fonction vide nommée main et appelez-la.

    namespace HelloKusto {
      class HelloKusto {
        static void Main(string[] args) {
        }
      }
    }
    
  3. Créez un objet générateur de chaîne de connexion qui définit l’URI du cluster et définit le mode d’authentification sur interactif. Pour plus d’informations sur l’URI du cluster, consultez Chaînes de connexion Kusto.

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

    Notes

    Pour l’authentification interactive, vous avez besoin d’un compte Microsoft ou d’une identité d’utilisateur Microsoft Entra. Un abonnement Azure n’est pas requis.

    En C#, le processus d’authentification interactif peut ne pas demander à l’utilisateur si :

    • L’utilisateur est déjà authentifié sur l’appareil
    • Il existe un Kusto. Explorer ou l’authentification de l’interface utilisateur web Azure Date Explorer sur l’appareil
  4. Créez un objet client qui utilise l’objet générateur de chaîne de connexion pour se connecter au cluster.

    Notes

    Nous vous recommandons vivement de mettre en cache et de réutiliser les instance client Kusto. La recréation fréquente de clients Kusto peut entraîner une dégradation des performances dans votre application et une charge accrue sur votre cluster.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. Définissez la base de données et la requête à exécuter. La requête imprime Hello Kusto ! dans une colonne nommée Bienvenue.

    var database = "Samples";
    var query = "print Welcome='Hello Kusto!'";
    
  6. Exécutez la requête et imprimez le résultat.

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

    Notes

    La sortie de la requête est retournée dans la réponse en tant qu’objet qui contient une ou plusieurs tables, composées d’une ligne et de colonnes supplémentaires. Le format de l’objet dépend de la langue de la bibliothèque cliente.

    La requête kusto print retourne une seule table avec une ligne et une colonne.

    La réponse est un objet DataReader . Vous pouvez référencer le résultat, comme suit :

    • Utiliser la méthode Read() pour lire la première ligne
    • Utilisez la méthode GetString() pour obtenir la valeur de la première colonne

Le code complet doit ressembler à ceci :

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));
        }
      }
    }
  }
}

Exécuter l’application

Dans un interpréteur de commandes, utilisez la commande suivante pour exécuter votre application :

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

Vous devriez voir un résultat similaire à ce qui suit :

Hello Kusto!

Étape suivante