Compartilhar via


Olá, Kusto: criar seu primeiro aplicativo

Neste artigo, você aprenderá como:

  • Criar seu primeiro aplicativo cliente
  • Usar autenticação interativa
  • Execute uma consulta básica que imprime Hello Kusto!

Pré-requisitos

Configure seu ambiente de desenvolvimento para usar a biblioteca de clientes kusto.

Criar o aplicativo

Em seu IDE ou editor de texto preferido, crie um projeto ou arquivo chamado hello kusto usando a convenção apropriada para seu idioma preferido. Em seguida, adicione o seguinte código:

  1. Adicione as classes do cliente Kusto e do construtor de cadeias de caracteres.

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

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

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

    Observação

    Para autenticação interativa, você precisa de uma conta da Microsoft ou uma identidade de usuário Microsoft Entra. Uma assinatura do Azure não é necessária.

    Em C#, o processo de autenticação interativa pode não solicitar ao usuário se:

    • O usuário já está autenticado no dispositivo
    • Há um Kusto existente. Explorer ou data do Azure Explorer autenticação da interface do usuário da Web no dispositivo
  4. Crie um objeto cliente que usa o objeto construtor cadeia de conexão para se conectar ao cluster.

    Observação

    É altamente recomendável que você armazene em cache e reutilize a instância do cliente Kusto. Recriar clientes Kusto com frequência pode levar à degradação do desempenho em seu aplicativo e ao aumento da carga no cluster.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. Defina o banco de dados e a consulta a serem executados. A consulta imprime Hello Kusto! em uma coluna chamada Welcome.

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

    Observação

    A saída da consulta é retornada 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 clientes.

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

    A resposta é um objeto DataReader . Você pode referenciar o resultado da seguinte maneira:

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

O código completo deve ter esta aparência:

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 o aplicativo

Em um shell de comando, use o seguinte comando para executar seu aplicativo:

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

Você deverá ver um resultado semelhante ao seguinte:

Hello Kusto!

Próxima etapa