Удалите все подписки сетки событий Azure с помощью интерфейса командной строки Azure. - PullRequest
0 голосов
/ 11 декабря 2019

Я использую сетку событий для моего веб-API. Имя домена моего API изменилось, и теперь мне нужно обновить все подписки сетки событий. Так получилось, что у меня есть команда Azure CLI для создания каждой подписки, поэтому самым простым способом было бы удалить их все и создать новые. Я проверил docs , но для команды az eventgrid event-subscription delete требуется параметр --name, что означает, что мне нужно выполнить это вручную для каждой подписки. Хотя это не большая проблема, для удаления потребуется сохранить второй список команд. Было бы намного быстрее, если бы я мог просто сказать --all или что-то подобное.

Может быть, есть решение удалить все подписки на сетку событий без особых хлопот?

Мои идеи на данный момент:

  • Удалить всю тему сетки событий исоздать новый ( кажется немного чрезмерным )
  • Применить магию Баша с помощью az eventgrid event-subscription list

1 Ответ

1 голос
/ 12 декабря 2019

Согласно моему тесту, мы можем использовать следующую команду, чтобы удалить список подписок, связанных с темой Gure Event Azure в Azure Cloud Shell .

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

enter image description here

...