private List <string> PostQueryList(string query, bool displayError = true) { LogAnalyticsQueryResults results = PostQuery(query, displayError); List <string> listResults = new List <string>(); if (results?.tables.Length > 0) { foreach (object[] rowFields in results.tables[0].rows) { listResults.Add(string.Join(",", rowFields)); } } Log.Info($"list results:", ConsoleColor.DarkBlue, null, listResults); return(listResults); }
private LogAnalyticsQueryResults PostQuery(string query, bool displayError = true) { LogAnalyticsQueryResults laResults = new LogAnalyticsQueryResults(); string jsonBody = $"{{\"query\": \"{query}\"}}"; try { string uri = $"{_logAnalyticsQueryEndpoint}{_config.LogAnalyticsId}/query"; Log.Info($"post uri:{uri}", ConsoleColor.Blue, null, query); Authenticate(); _httpClient.SendRequest( uri: uri, authToken: _laArm.BearerToken, jsonBody: jsonBody, httpMethod: HttpMethod.Post); Log.Info($"{_httpClient.Response?.ReasonPhrase}"); if (!_httpClient.Success) { if (displayError) { Log.Error("unsuccessful response:", _httpClient.Response); } return(null); } else { laResults = JsonConvert.DeserializeObject <LogAnalyticsQueryResults>(_httpClient.ResponseStreamString); Log.Info($"result rows count:{laResults?.tables?[0].rows?.Length}", ConsoleColor.DarkBlue); Log.Debug($"result:", laResults); } return(laResults); } catch (Exception e) { Log.Exception($"post exception:{e}"); return(null); } }