Partilhar via


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

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

Neste artigo, você aprenderá a:

  • Crie a sua primeira aplicação cliente
  • Usar autenticação interativa
  • Executa uma consulta básica que imprime Olá Kusto!

Pré-requisitos

Configurar o seu ambiente de desenvolvimento para usar a biblioteca de cliente Kusto.

Crie seu aplicativo

No seu IDE ou editor de texto preferido, crie um projeto ou ficheiro chamado hello kusto usando a convenção apropriada à sua língua preferida. Em seguida, adicione o seguinte código:

  1. Adicione as classes de cliente Kusto e StringBuilder.

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

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

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

    Observação

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

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

    • O utilizador já está autenticado no dispositivo
    • Existe uma autenticação da interface de utilizador web do Kusto.Explorer ou do Azure Data Explorer no dispositivo
  4. Crie um objeto cliente que use o construtor de string de ligação para se ligar ao cluster.

    Observação

    Recomendamos vivamente que faça cache e reutilize a instância cliente Kusto. Recriar frequentemente clientes Kusto pode levar à degradação do desempenho da 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 escreve Olá Kusto! numa coluna chamada Welcome.

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

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

    Observação

    O resultado da consulta é devolvido 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 da linguagem da biblioteca cliente.

    A consulta print kusto devolve uma única tabela com uma linha e uma coluna.

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

    • Use 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 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 .

Deverá ver um resultado semelhante ao seguinte:

Hello Kusto!

Próximo passo