有什么方法可以使用 az cli 通过标签过滤 Azure 订阅?

时间:2021-06-11 19:02:24

标签: bash azure azure-cli

https://github.com/Azure/azure-cli/issues/18463

我们有很多订阅,我需要通过标签过滤它们。

我发现它的唯一方法是列出所有订阅者 (channels: user/signedup: publish: bindings: amqp: expiration: 100000 userId: guest cc: ['user.logs'] priority: 10 deliveryMode: 2 mandatory: false bcc: ['external.audit'] replyTo: user.signedup timestamp: true ack: false bindingVersion: 0.2.0 bindings: amqp: is: routingKey queue: name: my-queue-name durable: true exclusive: true autoDelete: false vhost: / exchange: name: myExchange type: topic durable: true autoDelete: false vhost: / bindingVersion: 0.2.0 ),然后调用 az account list

这非常缓慢,因为在 88 个 subs 上执行大约需要 30 秒。

我查看了 az tag list --resource-id /subscriptions/${subid} -o json,但它始终指向单个子文件,可用于过滤子文件中的资源。

有什么更好的方法吗?

我们最终会多次调用 az resource list api!

1 个答案:

答案 0 :(得分:0)

Azure Resource Graph 可以提供帮助,因为它专为快速响应而设计!

使用 Azure CLI 的 resource-graph 扩展,您可以制作一个命令来查询订阅及其标签,如下所示:

az graph query -q "resourcecontainers | where type == 'microsoft.resources/subscriptions' | project id, name, subscriptionId, tags"

并根据需要处理结果。

参考:az graph

相关问题