Freigeben über


Hello Kusto: Erstellen Ihrer ersten App

Gilt für: ✅Microsoft FabricAzure Data Explorer

In diesem Artikel erfahren Sie, wie Sie:

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

Voraussetzungen

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

Erstellen Ihrer App

Erstellen Sie in Ihrer bevorzugten IDE oder ihrem Text-Editor ein Projekt oder eine Datei mit dem Namen hello kusto mithilfe 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 mit dem Namen main, und rufen Sie sie auf.

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

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

    Anmerkung

    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 eine vorhandene Kusto.Explorer- oder Azure Data Explorer-Web-UI-Authentifizierung auf dem Gerät.
  4. Erstellen Sie ein Clientobjekt, das das Verbindungszeichenfolgen-Generator-Objekt verwendet, um eine Verbindung mit dem Cluster herzustellen.

    Anmerkung

    Es wird dringend empfohlen, die Kusto-Clientinstanz zwischenzuspeichern und wiederzuverwenden. Das erneute Erstellen von Kusto-Clients kann zu Leistungsbeeinträchtigungen in Ihrer Anwendung und zu einer erhöhten Auslastung des 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));
    }
    

    Anmerkung

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

    Die Abfrage print kusto 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 der GetString-()-Methode zum Abrufen des Werts der ersten Spalte

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 wie folgt angezeigt werden:

Hello Kusto!

Nächster Schritt