Azure Application Insights Web 测试结果挂起并带有 "loading..." 消息

Azure Application Insights Web test result hanging with "loading..." message

我在 Azure Application Insights 中有一个 运行 的 Web 测试,它以散点图显示结果:

单击图表上的任何给定测试会出现一个结果页面,其中应填充如下测试结果:

上图取自我的开发环境,一切正常。对于集成环境,我克隆了支持开发环境的 webtest,将 url 更改为使用正确的凭据指向集成端点。

测试运行良好,因为我可以在散点图中看到大量成功的测试,但是当我单击测试以查看结果页面时,我得到以下信息:

加载消息永远不会更新,它只会永远挂起,即使我离开并在数小时后返回。

我已经检查了我能看到的所有配置,并确保 Webtest 设置正确,但看不到任何明显错误。

这可能是什么原因造成的? Azure 如何知道给定 Web 测试的结果集 return?可能是名称驱动还是 ID 驱动?

事实证明,这是 Azure 门户在单击图中的任何测试时发出的搜索请求中的错误。

正在抛出 500 响应并导致 "loading..." 消息挂起:

{ 
  "code":"One or more errors occurred.",
  "message":"One or more errors occurred.",
  "innererror":{
      "diagnosticcontext":"xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", 
       "time":"2017-04-10T08:13:01.8861938Z"
   }
}

问题的根源在于搜索请求中未处理大写字符,因此如果您的 Web 测试名称并非全部为小写,则会返回内部服务器错误并发生门户 UI 挂起.

通过门户创建的 Web 测试通过 UI 中的验证规则强制执行小写命名约定,但由于我是通过 ARM 模板创建测试的,所以没有迹象表明大写字符应该不被使用。

在错误修复之前,如果您通过 ARM 模板创建测试,请确保以下值不包含大写字符:

{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "AvailabilityTestName": {
          "value": "lower-cased-name"
   },
      "WebTestResourceName": {
          "value": "lower-cased-name"
   },