Поделиться через


Удаление ресурсов в масштабе с помощью Azure CLI

В качестве диспетчера ресурсов Azure часто приходится удалять несколько ресурсов Azure при удалении старой среды. Некоторые среды разработки CLI также требуют периодической очистки, поэтому плата не взимается за временные ресурсы Azure, которые задерживаются дольше.

В этом примере Azure CLI вы узнаете следующее:

  • Удаление нескольких ресурсов Azure из скрипта
  • Ход выполнения скрипта журнала в локальный TXT-файл

Этот пример скрипта был протестирован в Azure Cloud Shell в среде Bash. Этот скрипт также успешно протестирован в Ubuntu 22.04.3 LTS с помощью Терминал Windows.

Удаление фильтров ресурсов Azure по имени

Используйте этот скрипт для перечисления и удаления групп ресурсов, начинающихся с заданного слова.

# Set your subscription
subscriptionID=00000000-0000-0000-0000-00000000
az account set --subscription $subscriptionID

# Set your log file location
logFileLocation="myLogName.txt"

# Get the name of all resource groups that start with 'msdocs'
az group list --query "[?starts_with(name, 'msdocs') == \`true\`].name" -o table

# Delete resource groups without a confirmation prompt (--yes)
# Do not wait for the operation to finish (--no-wait)
echo "Deleting resource groups">$logFileLocation
for rgList in $(az group list --query "[?starts_with(name, 'msdocs') == \`true\`].name" -o tsv); 
do
    echo "deleting resource group $rgList">>$logFileLocation
    az group delete --name $rgList --yes --no-wait
done

# read your log file with Linux "cat" command
clear
cat $logFileLocation

Удаление фильтров ресурсов Azure по дате создания

Используйте этот скрипт для перечисления и удаления учетных записей хранения, созданных в диапазоне дат.

# Set your log file location
logFileLocation="myLogName.txt"

# Set your resource group variable
rgName=<msdocs-rg-0000000>

# Get a list of Azure storage accounts that were created in the last 30 days. Return the results as a table.
saDate=$(date +%F -d "-30days")
az storage account list --resource-group $rgName \
                        --query "[?creationTime >='$saDate'].{saName:name, createdTimeStamp:creationTime}" \
                        --output table

# Delete storage accounts without a confirmation prompt (--yes).
# Do not wait for the operation to finish (--no-wait)
echo "Deleting storage accounts">$logFileLocation
for saList in $(az storage account list --resource-group $rgName \
                        --query "[?creationTime >='$saDate'].{saName:name, createdTimeStamp:creationTime}" \
                        --output tsv);
do
    echo "deleting storage account $saList">>$logFileLocation
    az storage account delete --ids $saList --yes --no-wait
done

# read your log file with Linux "cat" command
clear
cat $logFileLocation

Удаление всех ресурсов Azure типа

Удаление всех Виртуальные машины в группе ресурсов

# Set your resource group variable
rgName=<msdocs-rg-0000000>

az group delete -n $rgName --force-deletion-types Microsoft.Compute/virtualMachines

См. также