Запрос графа ресурсов Azure переписывает ответ тега по умолчанию

Я пытаюсь изменить ответ по умолчанию на запрос графа ресурсов Azure, аналогичный тому, который использует портал Azure. Мой запрос:

      resourcecontainers | where type == "microsoft.resources/subscriptions" | project name, tags

Откуда ответ для тегов:

        "tags": {
    "TagA": "TeamA",
    "TagB": "TeamB",
    "TagC": "TeamC"
  },

Я хотел бы изменить это на:

          "tags": [
  {
    "name": "TagA",
    "value": "TeamA"
  },
  {
    "name": "TagB",
    "value": "TeamB"
  },
  {
    "name": "TagC",
    "value": "TeamC"
  }
]

Как это сделать? Все примеры, которые я нашел, относятся либо только к одному тегу, либо к статическому набору тегов. Мой должен поддерживать динамическое количество тегов.

1 ответ

Поскольку вы подтвердили, что для достижения вышеуказанного требования мы можем сделать это, используя приведенный ниже запрос.

      resourcecontainers      
| where type =~ 'microsoft.resources/subscriptions'
| mvexpand parsejson(tags)
| extend tagname = tostring(bag_keys(tags)[0])
| extend tagvalue = tostring(tags[tagname])
| project name, tagname, tagvalue

Выход:-

Для получения дополнительной информации, пожалуйста, обратитесь к этому БЛОГУ

Другие вопросы по тегам