我正在为我的Web API使用事件网格。我的api的域名已更改,现在我需要更新所有事件网格订阅。碰巧我有Azure CLI命令来创建每个订阅,所以最简单的方法是删除所有订阅并创建新订阅。我已经检查了docs,但是az eventgrid event-subscription delete
命令需要--name
参数,这意味着我需要为每个订阅手动执行此操作。虽然这不是一个大问题,但它需要维护第二个命令列表以进行删除。如果我只说--all
或类似的话,将会更快。
也许有一种解决方案可以删除所有事件网格订阅,而不会带来太多麻烦?
到目前为止我的想法:
az eventgrid event-subscription list
答案 0 :(得分:1)
根据我的测试,我们可以使用以下命令删除与Azure Cloud Shell中的Azure事件网格主题相关的订阅列表。
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