我正在编写一个查询来评估跨多个工作空间的表架构,以确保我们没有侵犯500 列表的限制。一旦我们接近,它将触发 Azure 警报。由于我们无法直接控制默认 AzureDiagnsotics 表的架构,因此这是一种在我们可能超过支持的最大阈值时发出警报的方法。
查询返回结果;但是,在测试时,我注意到当 Log Analytics 更新表的架构时查询偶尔会失败。这发生在我将不同的资源类型连接到工作区从而为其提供潜在的新架构信息之后。
它会抛出无法从“columnName”中总结出来的错误。'columnName' 值会随着时间的推移而改变,这让我相信自从发生更新以来它在读取架构时遇到了问题。一段时间后,查询始终返回结果。
以下是查询示例:
workspace("workspace1").AzureDiagnostics
| getschema
| summarize count(ColumnName)
|project TotalColumns = count_ColumnName, Workspace = "workspace1"
| where TotalColumns >400
| union (
workspace("workspace2").AzureDiagnostics
| getschema
| summarize count(ColumnName)
|project TotalColumns = count_ColumnName, Workspace = "workspace2"
| where TotalColumns >400
)
我的问题是,有没有办法编写类似于 SQL w/No Lock 的查询?这样即使没有提交,它仍然会返回模式。(我更改了 where 子句以便能够检查返回的记录)。