Compartir a través de


Hello Kusto: Creación de la primera aplicación

Se aplica a: ✅Microsoft Fabricazure Data Explorer

En este artículo, aprenderá a:

  • Creación de la primera aplicación cliente
  • Uso de la autenticación interactiva
  • Ejecute una consulta básica que imprima ¡Hola, Kusto!

Prerrequisitos

Configure el entorno de desarrollo para usar la biblioteca cliente de Kusto.

Creación de la aplicación

En el IDE o editor de texto que prefiera, cree un proyecto o archivo denominado hello kusto con la convención adecuada para su idioma preferido. A continuación, agregue el código siguiente:

  1. Agregue las clases kusto client y string builder.

    using Kusto.Data;
    using Kusto.Data.Net.Client;
    
  2. Defina una función vacía denominada main y llámela.

    namespace HelloKusto {
      class HelloKusto {
        static void Main(string[] args) {
        }
      }
    }
    
  3. Cree un objeto de generador de cadenas de conexión que defina el URI del clúster y establezca el modo de autenticación en interactivo. Para obtener más información sobre el URI del clúster, consulte cadenas de conexión de Kusto.

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

    Nota

    Para la autenticación interactiva, necesita una cuenta Microsoft o una identidad de usuario de Microsoft Entra. No se requiere una suscripción de Azure.

    En C#, es posible que el proceso de autenticación interactiva no solicite al usuario si:

    • El usuario ya está autenticado en el dispositivo
    • Hay una autenticación de interfaz de usuario web de Kusto.Explorer o Azure Data Explorer existente en el dispositivo
  4. Cree un objeto de cliente que use el objeto generador de cadenas de conexión para conectarse al clúster.

    Nota

    Se recomienda encarecidamente almacenar en caché y reutilizar la instancia de cliente de Kusto. Con frecuencia, volver a crear clientes de Kusto puede provocar una degradación del rendimiento en la aplicación y aumentar la carga en el clúster.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. Defina la base de datos y la consulta que se va a ejecutar. La consulta imprime Hello Kusto! en una columna denominada Welcome.

    var database = "Samples";
    var query = "print Welcome='Hello Kusto!'";
    
  6. Ejecute la consulta e imprima el resultado.

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

    Nota

    La salida de la consulta se devuelve en la respuesta como un objeto que contiene una o varias tablas, que están formadas por una o más filas y columnas. El formato del objeto depende del idioma de la biblioteca cliente.

    La consulta print kusto devuelve una sola tabla con una fila y una columna.

    La respuesta es un DataReader objeto. Puede hacer referencia al resultado, como se indica a continuación:

    • Use el método Read() de para leer la primera fila.
    • Use el método GetString() para obtener el valor de la primera columna.

El código completo debe tener este aspecto:

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

Ejecución de la aplicación

En un shell de comandos, use el siguiente comando para ejecutar la aplicación:

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

Debería ver un resultado similar al siguiente:

Hello Kusto!

Paso siguiente