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