使用 Azure Functions 进行 Application Insights 搜索

Nat*_*and 5 azure visual-studio azure-application-insights .net-core azure-functions

通常在 ASP.Net Core 网站中添加 Application Insights(即使没有配置)时,Visual Studio 中的 Application Insights 搜索窗口会显示收集的所有遥测数据(请求、异常等)。

在开发 Azure 函数时,同一窗口非常空,并且没有遥测显示。我已经检查了两种情况下的 TelemetryConfiguration,两者看起来都一样。我高度怀疑这是主机进程/子进程运行隔离并使其无法看到正在发生的事情的功能的问题。

我错过了什么吗?是否值得在任何 GitHub 存储库中打开错误/功能请求?

Iva*_*ang 6

如果 azure 函数发布到 azure,那么我建议您不要在函数中本地配置应用程序洞察。只需按照此文档

在您的情况下,您在 Visual Studio 中本地开发 azure 功能,并希望在本地测试它的应用程序洞察力,然后请按照以下步骤操作(再次注意:这仅用于测试目的,但在发布到 azure 之前,您应该删除所有设置,只需将一个干净的函数发布到 azure -> 然后通过此文档配置应用程序洞察):

第一步:在visual studio中创建一个函数,这里我创建了一个blob触发器azure函数,版本v3。

第 2 步:然后安装这个包Microsoft.Azure.WebJobs.Logging.ApplicationInsights

第三步:在函数的根目录添加一个文件,文件名为ApplicationInsights.config.

内容:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
</ApplicationInsights>
Run Code Online (Sandbox Code Playgroud)

这是文件及其内容的屏幕截图:

在此处输入图片说明

第 4 步:在 local.settings.json 中,添加"APPINSIGHTS_INSTRUMENTATIONKEY":"any value here, even it is not a real key". 这是一个屏幕截图:

在此处输入图片说明

第5步:这是我在function.cs中的代码截图:

在此处输入图片说明

第六步:在本地运行该功能,然后导航到“应用洞察搜索”,可以看到信息:

在此处输入图片说明