簡體   English   中英

如何從C#返回字符串Kusto Query的結果

[英]How can I return result of string Kusto Query from c#

var kusto = string.Format("let MyData = CompanyMydata" +
                " | where ID == 'Z123' | top 1 by dateTimeUtc desc");

            var reader = client.ExecuteQuery(kusto);
            while (reader.Read())
            {
                //how can i return coming result as list of string or json string?
            } 

while loop我可以使用string state = reader.GetString(1);逐一返回單個列值string state = reader.GetString(1); 但我想返回完整的結果,而不是一欄一欄的值。 這樣我就可以做JsonConvert.DeserializeObject<T>(resultString); 到特定類別。

假設您使用的是此處提到的客戶端庫,則應該能夠執行以下操作:

    static void Main(string[] args)
    {
        var kcsb = new KustoConnectionStringBuilder("https://help.kusto.windows.net").WithAadUserPromptAuthentication();
        var databaseName = "Samples";

        using (var queryProvider = KustoClientFactory.CreateCslQueryProvider(kcsb))
        {
            var clientRequestProperties = new ClientRequestProperties() { ClientRequestId = "Sample;" + Guid.NewGuid() };
            var query = "StormEvents | summarize count(), max(EndTime) by State";
            var result = queryProvider.ExecuteQuery<MyType>( // focus on this part
                databaseName,
                query,
                clientRequestProperties)
                .ToList();

            foreach (var row in result)
            {
                Console.WriteLine($"State = {row.State}, Count = {row.Count}, MaxEndTime = {row.MaxEndTime}");
            }
        }
    }

    class MyType
    {
        public string State;
        public long Count;
        public DateTime MaxEndTime;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM