You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell在Application Insights运行Query Pack查询并解决报错

在已连接Log Analytics的Application Insights中运行Default Query Pack查询的解决方法

问题原因

出现BadRequest错误,通常是因为直接复用Log Analytics Workspace的查询逻辑时,没有适配Application Insights的查询上下文,或是参数传递不符合要求导致的。

解决步骤

1. 确认资源连接状态

先确保你的Application Insights实例已正确关联目标Log Analytics Workspace,数据能正常同步到Workspace中。

2. 适配查询的AI上下文

Default Query Pack中的查询可能是针对Log Analytics通用表编写的,而Application Insights的数据在Workspace中以AppRequests、AppExceptions等专属表存储。需要确认原查询中的表名是否匹配AI的表结构,若不匹配需调整。

3. 调整PowerShell代码运行查询

有两种可靠的调用方式,可根据场景选择:

方式一:通过WorkspaceId限定AI范围查询

在原查询前添加app()函数指定Application Insights实例,再传入WorkspaceId执行:

# 获取Default Query Pack中的查询内容
$baseUrl  = "https://management.azure.com"
$RId      = (Get-AzResource -ResourceGroupName LogAnalyticsDefaultResources -Name DefaultQueryPack).ResourceId
$token    = (Get-AzAccessToken -ResourceUrl $baseUrl).Token
$response = Invoke-RestMethod -Uri "$baseUrl$RId/queries?api-version=2019-09-01" -Method Get -Headers @{Authorization = "Bearer $token"}

# 替换为你的Application Insights实例ID和Workspace ID
$aiAppId = "你的AI实例ID"
$workspaceId = "你的LA工作区ID"

# 给查询添加AI实例限定
$targetQuery = "app('$aiAppId') | " + ($response.value)[0].properties.body

# 执行查询
Invoke-AzOperationalInsightsQuery -Query $targetQuery -WorkspaceId $workspaceId

方式二:直接指定AI资源ID查询

无需通过WorkspaceId,直接传入Application Insights的资源ID即可执行查询:

# 获取Default Query Pack中的查询内容
$baseUrl  = "https://management.azure.com"
$RId      = (Get-AzResource -ResourceGroupName LogAnalyticsDefaultResources -Name DefaultQueryPack).ResourceId
$token    = (Get-AzAccessToken -ResourceUrl $baseUrl).Token
$response = Invoke-RestMethod -Uri "$baseUrl$RId/queries?api-version=2019-09-01" -Method Get -Headers @{Authorization = "Bearer $token"}

# 获取Application Insights的资源ID
$aiResourceId = (Get-AzApplicationInsights -ResourceGroupName "AI资源组名称" -Name "AI实例名称").Id

# 执行查询
Invoke-AzOperationalInsightsQuery -Query ($response.value)[0].properties.body -ResourceId $aiResourceId

4. 排查BadRequest的常见点

  • 检查查询语法:确认原查询的表名、函数适配Application Insights的Kusto语法。
  • 权限验证:确保当前PowerShell账号拥有AI实例和LA工作区的查询权限。
  • 替换占位符:代码中所有<>标记的位置,必须替换为实际的资源ID或名称。

内容的提问来源于stack exchange,提问作者Ayan Mullick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 04:01:03