我想要检索 Azure 门户上我的资源中存在的所有数据。我发现有一个用于应用程序洞察的 REST API 可以帮助检索数据。我想要的是获取数据并在我的网页上生成网格报告,其中显示事件相关信息,即日期、类型、消息和所有相关信息。我以前没有使用过 REST API,我想要的帮助是在 Visual Studio 中基于 MVC 的 Web 项目中使用此 REST API 的正确指南。如果有人可以提供帮助,那将是一个很大的帮助。
最佳答案
您可以按照以下步骤操作:
第 1 步:获取应用程序 ID 和 API key 。
导航到您的应用程序洞察 -> API 访问,请参阅屏幕截图(请记住,当生成 api key 时,请将其记下来):
第二步:了解API格式,详细引用here :
以下是过去 6 小时内获取请求计数的示例:
https://api.applicationinsights.io/v1/apps/your-application-id/metrics/requests/count?timespan=PT6H
这部分https://api.applicationinsights.io/v1/apps/
不需要更改。
然后输入您在上一步中获得的your-application-id
。
然后您可以根据您的需求指定指标
或事件
。
这部分requests/count
,可以引用this ,截图如下:
最后一部分?timespan=PT6H
,可以引用this ,截图如下:
第 3 步:编写代码来调用此 api,如下所示:
public class Test
{
private const string URL_requests = "https://api.applicationinsights.io/v1/apps/your-application-id/metrics/requests/count?timespan=PT6H";
public string GetRequestsCount()
{
// in step 1, you get this api key
string apikey = "flk2bqn1ydur57p7pa74yc3aazhbzf52xbyxthef";
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("x-api-key", apikey);
var req = string.Format(URL_requests);
HttpResponseMessage response = client.GetAsync(req).Result;
if (response.IsSuccessStatusCode)
{
// you can get the request count here
return response.Content.ReadAsStringAsync().Result;
}
else
{
return response.ReasonPhrase;
}
}
}
关于c# - 如何在 Visual Studio MVC 项目中使用 application Insights REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51785950/