Partilhar via


Olá Kusto: criar seu primeiro aplicativo

Aplica-se a: ✅Microsoft Fabric do Azure Data Explorer

Neste artigo, você aprenderá a:

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

Pré-requisitos

Configurar seu ambiente de desenvolvimento para usar a biblioteca de clientes do Kusto.

Criar seu 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 de cliente Kusto e de 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 do construtor de cadeias 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, confira Cadeias de conexão do Kusto.

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

    Nota

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

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

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

    Nota

    É altamente recomendável armazenar em cache e reutilizar 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 em seu cluster.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. Defina o banco de dados e a consulta a serem executadas. A consulta exibe 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));
    }
    

    Nota

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

    A consulta print kusto retorna uma 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
    • Usar 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 seu 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