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

az graph query加-o tsv输出异常,需生成Excel可用表格

问题原因分析

当添加-o tsv参数后返回纯数字/none这类结果,核心原因是你的Kusto查询返回的是无结构化标签的聚合标量值,而非带列名的结构化表格数据:

  • 不带-o tsv时,Azure Graph以JSON格式返回完整查询结构,包含聚合项的名称和值,结果显示正常;
  • 但-o tsv会直接提取查询结果中的原始数值,忽略JSON里的字段名,导致输出变成无意义的数字串(比如聚合后的sum、count值),存在null值时还会显示none。
解决方法

1. 重构查询,输出带列名的结构化结果

用project或summarize ... by明确指定统计项名称,让结果保留列标签,这样-o tsv会输出带表头的制表符分隔数据,可直接导入Excel。

示例查询(按资源组+VM规格统计核心数):

Resources
| where type == 'microsoft.compute/virtualmachines'
| where isnotempty(vmSize.numberOfCores) // 过滤无效null数据
| summarize TotalCores = sum(vmSize.numberOfCores) by ResourceGroup, VmSize = tostring(vmSize)
| project ResourceGroup, VmSize, TotalCores

执行命令:

az graph query -q "上述Kusto语句" -o tsv > vm_core_stats.tsv

生成的tsv文件包含三列(资源组、VM规格、总核心数),直接导入Excel即可正常识别。

2. 单维度聚合时添加统计标签

如果只需要全局总核心数、VM数量这类单维度统计,给聚合结果添加明确的标签字段:

Resources
| where type == 'microsoft.compute/virtualmachines'
| where isnotempty(vmSize.numberOfCores)
| summarize TotalCores = sum(vmSize.numberOfCores), VMCount = count()
| project StatisticType = "VM Core Usage Summary", TotalCores, VMCount

这样-o tsv输出会包含统计类型标签,不会是纯数字串。

3. 先验证JSON结构再转TSV

执行不带-o tsv的命令,查看返回的JSON结构,确认每个字段名称是否符合预期,再调整project或summarize语句,确保输出字段是你需要的统计项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:05:59