使用Insights库阅读ApplicationInsights跟踪事件

时间:2019-03-01 14:32:20

标签: c# .net-core azure-application-insights

在任何平台上,将跟踪事件写入Applications Insights都非常容易。例如,在C#的dotnet核心下,它是:

Client.InstrumentationKey = InstrumentationKey;
Client.TrackTrace("Test Trace from DotNet Console App.");

但至少通过NuGet读回的数据似乎没有这么简单的API。

我看过Kusto的文档:

https://docs.microsoft.com/en-gb/azure/kusto/api/netfx/about-kusto-ingest

但是,最简单易读的跟踪事件是阅读API Explorer的文档,并将其转换为dotnet核心C#:

using (var client = new HttpClient(new HttpClientHandler {}))
{
    client.DefaultRequestHeaders.Add("x-api-key", ApiKey);

    var response = client.GetAsync(InsightsUrl).Result;

    var succ = response.IsSuccessStatusCode;

    var body = response.Content.ReadAsStringAsync().Result;

    var path = $@"{AppDomain.CurrentDomain.BaseDirectory}..\..\..\Insights.json";
    File.WriteAllText(path, body);
}

在无需构建Web客户端的情况下,用于读取Insights跟踪(等)事件的比较简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

实际上,没有其他简单的方法(例如1或2行方法)来回读迹线(和其他遥测数据)。

到目前为止,您使用的web api是实现这一目标的最佳方法。