Come eliminare le risorse su larga scala usando l'interfaccia della riga di comando di Azure
In qualità di azure resource manager, è spesso necessario eliminare più risorse di Azure quando si elimina un ambiente precedente. Alcuni ambienti devTest dell'interfaccia della riga di comando necessitano anche di una pulizia periodica, in modo che non vengano addebitati addebiti per le risorse di Azure temporanee che si sono prolungate più a lungo.
In questo esempio dell'interfaccia della riga di comando di Azure si apprenderà quanto segue:
- Eliminare più risorse di Azure da uno script
- Registrare lo stato dello script in un file TXT locale
Questo script di esempio è stato testato in Azure Cloud Shell in un ambiente Bash. Questo script è stato testato correttamente anche in Ubuntu 22.04.3 LTS usando Terminale Windows.
Eliminare i filtri delle risorse di Azure in base al nome
Usare questo script per elencare ed eliminare gruppi di risorse che iniziano con una determinata parola.
# 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
Eliminare i filtri delle risorse di Azure in base alla data di creazione
Usare questo script per elencare ed eliminare gli account di archiviazione creati entro un intervallo di date.
# 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
Eliminare tutte le risorse di Azure di un tipo
Eliminare tutti i Macchine virtuali in un gruppo di risorse
# Set your resource group variable
rgName=<msdocs-rg-0000000>
az group delete -n $rgName --force-deletion-types Microsoft.Compute/virtualMachines