Como excluir recursos em escala usando a CLI do Azure
Como um gerenciador de recursos do Azure, você frequentemente precisa excluir vários recursos do Azure ao derrubar um ambiente antigo. Alguns ambientes devTest da CLI também precisam de uma limpeza periódica para que não sejam incorridas cobranças por recursos temporários do Azure que permaneceram por mais tempo.
Neste exemplo de CLI do Azure, você aprenderá o seguinte:
- Excluir vários recursos do Azure de um script
- Registrar o progresso do script em um arquivo TXT local
Este script de exemplo foi testado no Azure Cloud Shell em um ambiente Bash. Este script também foi testado com sucesso no Ubuntu 22.04.3 LTS usando o Terminal do Windows.
Excluir filtragem de recursos do Azure por nome
Use este script para listar e excluir grupos de recursos que começam com uma determinada palavra.
# 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
Excluir filtragem de recursos do Azure por data de criação
Use este script para listar e excluir contas de armazenamento que foram criadas dentro de um intervalo de datas.
# 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
Excluir todos os recursos azure de um tipo
Excluir todas as máquinas virtuais em um grupo de recursos
# Set your resource group variable
rgName=<msdocs-rg-0000000>
az group delete -n $rgName --force-deletion-types Microsoft.Compute/virtualMachines