azure - 如何使用 Azure Resource Graph Explorer 查询获取每个订阅的资源计数列表?

标签 azure azure-data-explorer kql azure-resource-graph azure-subscription

我正在尝试获取每个订阅的资源计数列表。这很简单,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/

相关文章:

azure - 如何在 Kusto 中将 JSON 转换为键值表

Azure 管道 Docker 镜像 ACR URI 前缀不适用于单独的构建、自定义命令、推送任务

azure - Microsoft Graph 登录 - 个人帐户触发器 "User account does not exist in tenant"

azure - 从 Azure Function App 提取 Kusto 数据以 403 结束

c# - 如何从 C# 返回字符串 Kusto 查询的结果

azure-data-explorer - 如果 Term 到达某个点,Kusto row_cumsum 修改 Term

azure - 如何控制 ADAL AuthenticationContext 中的登录流程?

c# - 尝试从 Visual Studio 2013 update 4 发布 azure webjob

azure - 使用 Kusto 查询语言的具有单个数字的图表

azure - 在 Log Analytics 中使用共享的用户定义的 Kusto 函数