Подключение Kusto к кластеру с использованием C # {kusto.data}

Я пытаюсь установить соединение с кластером Azure DataExplorer с помощью C #. Я указал на C # в https://docs.microsoft.com/en-us/azure/kusto/api/netfx/about-kusto-data и установленный пакет nuget kusto.data в визуальном studio и скопировал код и запустил dotnet в командной строке, но это не сработало.

Ниже мой код -

using Microsoft.Azure.Management.Kusto;
using System;

namespace LensDashboradOptimization
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            //var clusterUrl = "https://masvaas.kusto.windows.net";


            //var kcsb = new Kusto.Data.KustoConnectionStringBuilder(clusterUrl); 


            //Console.WriteLine(kcsb);
            // Read the first row from reader -- it's 0'th column is the count of records in MyTable
            // Don't forget to dispose of reader when done.

            var client = Kusto.Data.Net.Client.KustoClientFactory.CreateCslQueryProvider("https://masvaas.windows.net/Samples;Fed=true");
            var reader = client.ExecuteQuery("MyTable | count");
            Console.WriteLine(reader);
        }
    }
}

Я пробовал и fed=true, и WithAadUserPromptAuthentication();, оба не работали. Я что-то упускаю?


person vaishnavi    schedule 05.12.2019    source источник
comment
Возможно, вы захотите уточнить, что означает неработающее, например указать, каково было фактическое поведение, и, если было сообщение об ошибке, включите его.   -  person Yoni    schedule 06.12.2019
comment
Привет, @YoniL, я установил пакет Microsoft.azure.kusto.data nuget в Visual Studio. Я получаю сообщение об ошибке ниже, Program.cs (1,17): ошибка CS0234: тип или имя пространства имен «Azure» не существует в пространстве имен «Microsoft» (вам не хватает ссылки на сборку?) [C: \ Users \ v-vasub \ Documents \ LensDashboradOptimization \ LensDashboradOptimization.csproj] Сбой сборки. Исправьте ошибки сборки и запустите снова.   -  person vaishnavi    schedule 06.12.2019


Ответы (3)


Привет и добро пожаловать в Stack Overflow!

Я попробовал и столкнулся с аналогичной ошибкой, когда проверял это. Но проблема оказалась в той версии .Net Framework, которую я использовал. Для пакета Kusto.Data требуется .Net Framework 4.6.2 как зависимость. Когда это было установлено, я смог установить и импортировать пакет, а затем подключиться к предполагаемому кластеру Kusto и прочитать данные. Это фрагмент, который у меня сработал:

using System;
using Kusto.Data;

namespace hello_world
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var client = Kusto.Data.Net.Client.KustoClientFactory.CreateCslQueryProvider("https://help.kusto.windows.net/Samples;Fed=true");
            var reader = client.ExecuteQuery("StormEvents | sort by StartTime desc | take 10");

        }
    }
}

Пожалуйста, дважды проверьте зависимости и дайте мне знать, если у вас по-прежнему возникнут проблемы. Надеюсь это поможет!

person Bhargavi Annadevara    schedule 12.12.2019

using Kusto.Data;
using Kusto.Data.Common;
using Kusto.Data.Net.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

Только эти операторы using выполняют ту работу, которую вы пытаетесь выполнить. Для этого вам нужно установить SDK с nuget галерея. Кроме того, устанавливайте только Microsoft.Azure.Kusto.Data и Microsoft.Azure.Management.Kusto сверху. Этого достаточно.

Надеюсь на эту помощь.

Еще несколько вещей, которые вы можете рассматривать как: 1) Статический IP-адрес 2) VS 2019 Community Edition с установленными пакетами разработчика Azure.

person Chandan    schedule 04.02.2020

С AadUserPromptAuthentication этот метод сейчас не поддерживается, так как базе данных kusto сначала требуется аутентификация для пользователя. и консольное приложение не может открыть окно подсказки. Рекомендую использовать веб-приложение.

person Nikita Bhopale    schedule 08.09.2020