Hello Kusto: Erstellen Ihrer ersten App

In diesem Artikel werden folgende Vorgehensweisen behandelt:

  • Erstellen Ihrer ersten Client-App
  • Verwenden der interaktiven Authentifizierung
  • Führen Sie eine einfache Abfrage aus, die Hello Kusto!

Voraussetzungen

Richten Sie Ihre Entwicklungsumgebung für die Verwendung der Kusto-Clientbibliothek ein.

Erstellen der App

Erstellen Sie in Ihrer bevorzugten IDE oder dem Text-Editor ein Projekt oder eine Datei namens hello kusto unter Verwendung der konvention, die für Ihre bevorzugte Sprache geeignet ist. Fügen Sie dann den folgenden Code hinzu:

  1. Fügen Sie die Kusto-Client- und Zeichenfolgen-Generator-Klassen hinzu.

    using Kusto.Data;
    using Kusto.Data.Net.Client;
    
  2. Definieren Sie eine leere Funktion namens, main und rufen Sie sie auf.

    namespace HelloKusto {
      class HelloKusto {
        static void Main(string[] args) {
        }
      }
    }
    
  3. Erstellen Sie ein Verbindungszeichenfolge Builder-Objekt, das den Cluster-URI definiert und den Authentifizierungsmodus auf interaktiv festlegt. Weitere Informationen zum Cluster-URI finden Sie unter Kusto-Verbindungszeichenfolgen.

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

    Hinweis

    Für die interaktive Authentifizierung benötigen Sie ein Microsoft-Konto oder eine Microsoft Entra Benutzeridentität. Ein Azure-Abonnement ist nicht erforderlich.

    In C# fordert der interaktive Authentifizierungsprozess den Benutzer möglicherweise nicht auf, wenn:

    • Der Benutzer ist bereits auf dem Gerät authentifiziert.
    • Es gibt einen Kusto. Explorer- oder Azure Date Explorer Web UI-Authentifizierung auf dem Gerät
  4. Erstellen Sie ein Clientobjekt, das das Verbindungszeichenfolge Builder-Objekt verwendet, um eine Verbindung mit dem Cluster herzustellen.

    Hinweis

    Es wird dringend empfohlen, den Kusto-Client instance zwischenzuspeichern und wiederzuverwenden. Das häufige Erneute Erstellen von Kusto-Clients kann zu Leistungseinbußen in Ihrer Anwendung und zu einer erhöhten Auslastung Ihres Clusters führen.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. Definieren Sie die auszuführende Datenbank und Abfrage. Die Abfrage gibt Hello Kusto! in einer Spalte mit dem Namen Willkommen aus.

    var database = "Samples";
    var query = "print Welcome='Hello Kusto!'";
    
  6. Führen Sie die Abfrage aus, und drucken Sie das Ergebnis.

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

    Hinweis

    Die Abfrageausgabe wird in der Antwort als Objekt zurückgegeben, das eine oder mehrere Tabellen enthält, die aus weiteren Zeilen und Spalten bestehen. Das Format des Objekts hängt von der Clientbibliothekssprache ab.

    Die Print kusto-Abfrage gibt eine einzelne Tabelle mit einer Zeile und Spalte zurück.

    Die Antwort ist ein DataReader-Objekt . Sie können wie folgt auf das Ergebnis verweisen:

    • Verwenden der Read() -Methode zum Lesen der ersten Zeile
    • Verwenden Sie die GetString()-Methode, um den Wert der ersten Spalte abzurufen.

Der vollständige Code sollte wie folgt aussehen:

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

Ausführen der App

Verwenden Sie in einer Befehlsshell den folgenden Befehl, um Ihre App auszuführen:

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

Es sollte ein Ergebnis ähnlich dem folgenden angezeigt werden:

Hello Kusto!

Nächster Schritt