使用 Azure CLI 删除所有 azure 事件网格订阅

Delete all azure event grid subscriptions using Azure CLI

我正在为我的网站使用事件网格 api。我的 api 的域名已更改,现在我需要更新所有事件网格订阅。碰巧我有 Azure CLI 命令来创建每个订阅,所以最简单的方法是删除所有订阅并创建新订阅。我检查了 docsaz eventgrid event-subscription delete 命令需要 --name 参数,这意味着我需要为每个订阅手动执行此操作。虽然这不是一个大问题,但它需要维护第二个命令列表以进行删除。如果我可以简单地说 --all 或类似的东西,那会快得多。

也许有一种解决方案可以轻松删除所有事件网格订阅?

我目前的想法:

根据我的测试,我们可以使用以下命令删除与 Azure Cloud Shell 中的 Azure event gird 主题关联的订阅列表。

results=$(az eventgrid event-subscription list --source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/domains/domain1/topics/topic1 --query "[].{Name:name}")


for row in $(echo "$results" | jq -r '.[]|"\(.Name)"')
do
  az eventgrid event-subscription delete --name $row --source-resource-id  /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/domains/domain1/topics/topic1
done