0

我正在尝试创建一个 Workbook Parameter 下拉菜单,我们可以在其中选择 Subscription 进行过滤。
但是,1 个租户/目录可能有一个或多个订阅。
而不是像这样的平面订阅下拉列表:,

  • 订阅-1
  • 订阅-2
  • 订阅-3
  • 订阅 4
  • 订阅 5

有没有办法创建一个按租户/目录分组的订阅下拉列表,类似于 Azure Resource Graph Explorer 页面(位于右侧)中的下拉列表,如下所示:?

租户 1

  • 订阅-1
  • 订阅-2

租户 2

  • 订阅 3

租户 3

  • 订阅 4
  • 订阅 5

非常感谢您的帮助。

4

2 回答 2

0

部分解决方案:

  1. 创建一个新参数
  2. 选择“订阅选择器”作为参数类型
  3. 选择“查询”作为“获取数据”选项
  4. 在查询中,将数据源设置为“Azure Resource Graph”
  5. 选择全部或默认(订阅过滤的订阅)作为订阅值
  6. 使用查询
ResourceContainers | where type =~ "microsoft.resources/subscriptions"
// add any other filters you want here
| project id, name, group=tenantId

您将获得一个按租户分组的下拉参数。

限制:Azure Resource Graph 没有租户名称(不知道为什么),所以下拉列表本身不会有这些。如果您想要租户名称,您可能必须单独查询 ARM 以按名称 + id 获取所有租户并与之合并?

更新:杰森采取了额外的步骤,使用合并来获取数据,我不知道为什么我没有想到这一点。

您可以使用 ARM 数据源并查询 /tenants api 以获取该信息以在合并中使用: 在此处输入图像描述

不过,在我的位置上,我只会在该列表中重新获得租户,因此我无法验证它是否会起作用并让您获得所有租户。我发誓我可以使用不止一个,但我只能拿回我的第一个?

于 2021-01-16T01:15:15.240 回答
0

在 John Gardner 的回答之上,我设法通过在 2 个查询之间创建 Merge 来使其工作。一个用于资源图,另一个在 KQL 上,指的是外部 Blob 存储,其中包含 TenantId 和租户名称之间的映射。创建参数,使用合并,然后选择租户名称字段,将其重命名为“组”。

于 2021-01-19T07:02:34.983 回答