다음을 통해 공유


Hello Kusto: 첫 번째 앱 만들기

적용 대상: ✅Microsoft FabricAzure Data Explorer

이 문서에서는 다음 방법을 알아봅니다.

  • 첫 번째 클라이언트 앱 만들기
  • 대화형 인증 사용
  • Hello Kusto!를 출력하는 기본 쿼리를 실행합니다.

필수 구성 요소

Kusto 클라이언트 라이브러리를 사용하도록 개발 환경 설정합니다.

앱 만들기

기본 설정 IDE 또는 텍스트 편집기에서 원하는 언어에 적합한 규칙을 사용하여 hello kusto 프로젝트 또는 파일을 만듭니다. 그런 다음, 다음 코드를 추가합니다.

  1. Kusto 클라이언트 및 문자열 작성기 클래스를 추가합니다.

    using Kusto.Data;
    using Kusto.Data.Net.Client;
    
  2. main 명명된 빈 함수를 정의하고 호출합니다.

    namespace HelloKusto {
      class HelloKusto {
        static void Main(string[] args) {
        }
      }
    }
    
  3. 클러스터 URI를 정의하고 인증 모드를 대화형으로 설정하는 연결 문자열 작성기 개체를 만듭니다. 클러스터 URI에 대한 자세한 내용은 Kusto 연결 문자열을 참조하세요.

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

    메모

    대화형 인증의 경우 Microsoft 계정 또는 Microsoft Entra 사용자 ID가 필요합니다. Azure 구독은 필요하지 않습니다.

    C#에서 대화형 인증 프로세스는 다음과 같은 경우 사용자에게 메시지를 표시하지 않을 수 있습니다.

    • 사용자가 디바이스에서 이미 인증되었습니다.
    • 디바이스에 기존 Kusto.Explorer 또는 Azure Date Explorer 웹 UI 인증이 있습니다.
  4. 연결 문자열 작성기 개체를 사용하여 클러스터에 연결하는 클라이언트 개체를 만듭니다.

    메모

    Kusto 클라이언트 인스턴스를 캐시하고 다시 사용하는 것이 좋습니다. Kusto 클라이언트를 자주 다시 만들면 애플리케이션의 성능이 저하되고 클러스터의 부하가 증가할 수 있습니다.

    using (var kustoClient = KustoClientFactory.CreateCslQueryProvider(kcsb)) {
    }
    
  5. 실행할 데이터베이스 및 쿼리를 정의합니다. 쿼리는 "Hello Kusto!"를 이름이 Welcome인 열에 출력합니다.

    var database = "Samples";
    var query = "print Welcome='Hello Kusto!'";
    
  6. 쿼리를 실행하고 결과를 출력합니다.

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

    메모

    쿼리 출력은 하나 이상의 행과 열로 구성된 하나 이상의 테이블을 포함하는 개체로 응답에 반환됩니다. 개체의 형식은 클라이언트 라이브러리 언어에 따라 달라집니다.

    인쇄 kusto 쿼리는 하나의 행과 열이 있는 단일 테이블을 반환합니다.

    응답은 DataReader 개체입니다. 다음과 같이 결과를 참조할 수 있습니다.

    • Read() 메서드를 사용하여 첫 번째 행을 읽습니다.
    • GetString() 메서드를 사용하여 첫 번째 열의 값을 가져옵니다.

전체 코드는 다음과 같습니다.

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

앱 실행

명령 셸에서 다음 명령을 사용하여 앱을 실행합니다.

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

다음과 유사한 결과가 표시됩니다.

Hello Kusto!

다음 단계