Olá Kusto: Criar a sua primeira aplicação

Neste artigo, vai aprender a:

  • Criar a sua primeira aplicação cliente
  • Utilizar a autenticação interativa
  • Execute uma consulta básica que imprima Hello Kusto!

Pré-requisitos

Configure o seu ambiente de desenvolvimento para utilizar a biblioteca de cliente Kusto.

Criar a sua aplicação

No seu IDE ou editor de texto preferido, crie um projeto ou ficheiro com o nome hello kusto com a convenção adequada para o seu idioma preferido. Em seguida, adicione o seguinte código:

  1. Adicione as classes cliente kusto e construtor de cadeias.

    using Kusto.Data;
    using Kusto.Data.Net.Client;
    
  2. Defina uma função vazia com o nome main e chame-a.

    namespace HelloKusto {
      class HelloKusto {
        static void Main(string[] args) {
        }
      }
    }
    
  3. Crie um objeto cadeia de ligação construtor que defina o URI do cluster e defina o modo de autenticação como interativo. Para obter mais informações sobre o URI do cluster, veja Cadeias de ligação kusto.

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

    Nota

    Para autenticação interativa, precisa de uma conta Microsoft ou de uma identidade de utilizador Microsoft Entra. Não é necessária uma subscrição do Azure.

    Em C#, o processo de autenticação interativa pode não pedir ao utilizador se:

    • O utilizador já está autenticado no dispositivo
    • Existe uma autenticação da IU Web do Kusto.Explorer ou do Azure Date Explorer no dispositivo
  4. Crie um objeto de cliente que utilize o objeto cadeia de ligação construtor para ligar ao cluster.

    Nota

    Recomendamos vivamente que coloque em cache e reutilize a instância de cliente Kusto. A recriação frequente de clientes Kusto pode levar à degradação do desempenho na sua aplicação e ao aumento da carga no cluster.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. Defina a base de dados e a consulta a executar. A consulta imprime Hello Kusto! numa coluna com o nome Bem-vindo.

    var database = "Samples";
    var query = "print Welcome='Hello Kusto!'";
    
  6. Execute a consulta e imprima o resultado.

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

    Nota

    A saída da consulta é devolvida na resposta como um objeto que contém uma ou mais tabelas, compostas por mais uma linha e colunas. O formato do objeto depende do idioma da biblioteca de cliente.

    A consulta kusto de impressão devolve uma única tabela com uma linha e coluna.

    A resposta é um objeto DataReader . Pode referenciar o resultado da seguinte forma:

    • Utilizar o método Read() para ler a primeira linha
    • Utilize o método GetString() para obter o valor da primeira coluna

O código completo deve ter o seguinte aspeto:

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

Executar a aplicação

Numa shell de comandos, utilize o seguinte comando para executar a sua aplicação:

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

Deverá ver um resultado semelhante ao seguinte:

Hello Kusto!

Passo seguinte