Azure 资源图查询重写默认标记响应

Azure resource graph query re-write default tag response

我正在尝试将 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"
  }
]

怎么做?我发现的所有示例要么仅针对一个标签,要么针对一组静态标签。我的需要支持动态数量的标签。

如您确认达到上述要求,我们可以使用以下查询来完成

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

输出:-

更多信息请参考此BLOG