Hello Kusto: Tworzenie pierwszej aplikacji

W tym artykule omówiono sposób wykonywania następujących zadań:

  • Tworzenie pierwszej aplikacji klienckiej
  • Korzystanie z uwierzytelniania interakcyjnego
  • Uruchom podstawowe zapytanie, które wyświetla komunikat Hello Kusto!

Wymagania wstępne

Skonfiguruj środowisko deweloperskie do korzystania z biblioteki klienta Kusto.

Tworzenie aplikacji

W preferowanym środowisku IDE lub edytorze tekstów utwórz projekt lub plik o nazwie hello kusto przy użyciu konwencji odpowiedniej dla preferowanego języka. Następnie dodaj następujący kod:

  1. Dodaj klasy klienta i konstruktora ciągów Kusto.

    using Kusto.Data;
    using Kusto.Data.Net.Client;
    
  2. Zdefiniuj pustą funkcję o nazwie main i wywołaj ją.

    namespace HelloKusto {
      class HelloKusto {
        static void Main(string[] args) {
        }
      }
    }
    
  3. Utwórz obiekt konstruktora parametry połączenia definiujący identyfikator URI klastra i ustawiający tryb uwierzytelniania na interaktywny. Aby uzyskać więcej informacji na temat identyfikatora URI klastra, zobacz Parametry połączenia usługi Kusto.

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

    Uwaga

    Do uwierzytelniania interakcyjnego potrzebne jest konto Microsoft lub Microsoft Entra tożsamość użytkownika. Subskrypcja platformy Azure nie jest wymagana.

    W języku C# proces uwierzytelniania interakcyjnego może nie wyświetlać monitu użytkownika, jeśli:

    • Użytkownik jest już uwierzytelniony na urządzeniu
    • Na urządzeniu istnieje uwierzytelnianie internetowego interfejsu użytkownika usługi Kusto.Explorer lub Usługi Azure Date Explorer
  4. Utwórz obiekt klienta używający obiektu konstruktora parametry połączenia do nawiązania połączenia z klastrem.

    Uwaga

    Zdecydowanie zalecamy buforowanie i ponowne używanie wystąpienia klienta Kusto. Częste ponowne tworzenie klientów usługi Kusto może prowadzić do obniżenia wydajności aplikacji i zwiększonego obciążenia klastra.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. Zdefiniuj bazę danych i zapytanie do uruchomienia. Zapytanie wyświetla ciąg Hello Kusto! w kolumnie o nazwie Welcome (Witaj).

    var database = "Samples";
    var query = "print Welcome='Hello Kusto!'";
    
  6. Uruchom zapytanie i wyświetl wynik.

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

    Uwaga

    Dane wyjściowe zapytania są zwracane w odpowiedzi jako obiekt zawierający co najmniej jedną tabelę składającą się z co najmniej jednego wiersza i kolumn. Format obiektu zależy od języka biblioteki klienta.

    Zapytanie print kusto zwraca pojedynczą tabelę z jednym wierszem i kolumną.

    Odpowiedź jest obiektem DataReader . Możesz odwołać się do wyniku w następujący sposób:

    • Odczytywanie pierwszego wiersza przy użyciu metody Read()
    • Użyj metody GetString(), aby uzyskać wartość pierwszej kolumny

Pełny kod powinien wyglądać następująco:

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

Uruchamianie aplikacji

W powłoce poleceń użyj następującego polecenia, aby uruchomić aplikację:

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

Powinien zostać wyświetlony wynik podobny do następującego:

Hello Kusto!

Następny krok