见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!
答案 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