我需要确保我们所有的资源组都有一个特定的标签。
我知道我可以使用策略来确保任何创建的资源都具有标签,但对于现有资源,我正尝试使用 AZ CLI 提出查询。
作为额外的挑战,标签名称中间有一个空格:它是“Cost Center”而不是“CostCenter”。:-/
答案1
我建议使用Azure 资源图为此。资源图允许您在 CLI 或门户中使用 Kusto 语言查询所有 Azure 资源。
要查找所有没有“成本中心”标签的资源组的名称,您可以运行如下查询:
ResourceContainers
| project name, type, tags
| where type == 'microsoft.resources/subscriptions/resourcegroups'
| where tags !contains 'Cost Center'
| project name
从 CLI 来看,这个查询如下所示:
az graph query -q "ResourceContainers | project name, type, tags | where type == 'microsoft.resources/subscriptions/resourcegroups' | where tags !contains 'Cost Center' | project name"