Partager via


Comment supprimer des ressources à grande échelle à l’aide d’Azure CLI

En tant que gestionnaire de ressources Azure, vous devez souvent supprimer plusieurs ressources Azure lors de la destruction d’un ancien environnement. Certains environnements devTest CLI ont également besoin d’un propre périodique afin que les frais ne soient pas facturés pour les ressources Azure temporaires qui se sont prolongées plus longtemps.

Dans cet exemple Azure CLI, vous allez découvrir les éléments suivants :

  • Supprimer plusieurs ressources Azure d’un script
  • Progression du script de journal dans un fichier TXT local

Cet exemple de script a été testé dans Azure Cloud Shell dans un environnement Bash. Ce script a également été testé avec succès dans Ubuntu 22.04.3 LTS à l’aide de Terminal Windows.

Supprimer le filtrage des ressources Azure par nom

Utilisez ce script pour répertorier et supprimer des groupes de ressources qui commencent par un mot donné.

# 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

Supprimer le filtrage des ressources Azure par date de création

Utilisez ce script pour répertorier et supprimer des comptes de stockage créés dans une plage de dates.

# 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

Supprimer toutes les ressources Azure d’un type

Supprimer toutes les Machines Virtuelles dans un groupe de ressources

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

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

Voir aussi