Создайте параметр, содержащий список подписок, сгруппированных по арендатору или каталогу — Azure Resource Graph
Я пытаюсь создать раскрывающийся список параметров рабочей книги, где мы можем выбрать «Подписка» для фильтрации.
Однако у 1 арендатора/каталога может быть одна или несколько подписок.
Вместо плоского выпадающего списка подписки, подобного этому:
- Подписка-1
- Подписка-2
- Подписка-3
- Подписка-4
- Подписка-5
Есть ли способ создать раскрывающийся список подписок, сгруппированных по арендатору/каталогу, аналогичный спискам на странице Azure Resource Graph Explorer (расположенной справа), например:?
Арендатор 1
- Подписка-1
- Подписка-2
Арендатор 2
- Подписка 3
Арендатор 3
- Подписка 4
- Подписка-5
Большое спасибо за Вашу помощь.
2 ответа
Помимо ответов Джона Гарднера, мне удалось заставить его работать, создав слияние между двумя запросами. один для графа ресурсов и один для KQL, относящийся к внешнему хранилищу BLOB-объектов с сопоставлением между TenantId и Tenant Name. Создайте параметр, используйте Merge и выберите поле Tenant Name, переименуйте его в «group».
Частичное решение:
- создать новый параметр
- выберите «выбор подписки» в качестве типа параметра
- выберите «запрос» в качестве опции «получить данные из»
- в запросе установите источник данных "Azure Resource Graph"
- выбрать все или по умолчанию (подписки с фильтром подписки) в качестве значения подписки
- используйте запрос
ResourceContainers | where type =~ "microsoft.resources/subscriptions"
// add any other filters you want here
| project id, name, group=tenantId
вы получите раскрывающийся параметр, который сгруппирован по арендатору.
ограничение: Azure Resource Graph не имеет имен арендаторов (не знаю, почему), поэтому в самом раскрывающемся списке их не будет. вам, возможно, придется запросить ARM отдельно, чтобы получить всех арендаторов по имени + идентификатору и объединиться с этим, если вам нужны имена арендаторов?
Обновление: Джейсон сделал дополнительный шаг, используя слияние для получения данных, и я не уверен, почему я об этом не подумал.
вы могли бы использовать источник данных ARM и запросить API /tenants, чтобы получить эту информацию для использования в слиянии:
на моем месте я возвращаюсь только к арендатору в этом списке, поэтому я не могу проверить, сработает ли он и доставит вам всех арендаторов. клянусь, у меня есть доступ к нескольким, но я получаю только свой основной?