我正在尝试获取每个订阅的资源计数列表。这很简单,Azure 也有 documentation关于如何做到这一点。这是我的版本。
resources
| join kind=inner (
resourcecontainers
| where type == "microsoft.resources/subscriptions"
| project subscriptionId, subscriptionName = name )
on subscriptionId
| summarize count() by subscriptionName
| sort by count_ desc
我不明白的是如何在此表上包含具有 0 个资源的订阅?
resources
表仅包含至少具有一个资源的订阅,但不包含空订阅。当我检查 resourcecontainers
表时,还有大约 30 个订阅未在上述查询中显示。这 30 个订阅是空的。
我今天了解到,let
或在 Azure Resource Graph Explorer 中创建变量是 not supported 。否则,我可以将上述结果分配给一个变量,并执行类似“resourcecontainers | where subscriptionName !in result_variable.subscriptionName”的操作,然后将两个结果联合
在一起。
我的最后一招是导出两个表的结果并使用 Bash/PowerShell 生成我需要的内容,但只是想在这里询问是否有人知道如何直接在 Azure 资源图形资源管理器中执行此操作?谢谢:)
最佳答案
您需要执行left outer join资源容器和资源表之间。试试这个:
resourcecontainers
| where type == "microsoft.resources/subscriptions"
| project subscriptionId, subscriptionName = name
| join kind=leftouter (resources | project subscriptionId, id) on subscriptionId
| summarize countif(isempty(id) == false) by subscriptionName
关于azure - 如何使用 Azure Resource Graph Explorer 查询获取每个订阅的资源计数列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76283840/