Azure CLI を使用して大規模なリソースを削除する方法
Azure リソース マネージャーは、古い環境を破棄するときに、複数の Azure リソースを削除する必要が頻繁にあります。 一部の CLI devTest 環境では定期的なクリーンが必要であるため、長く残っている一時的な Azure リソースに対する料金は発生しません。
この Azure CLI サンプルでは、次の内容を学習します。
- スクリプトから複数の Azure リソースを削除する
- ローカル TXT ファイルへのログ スクリプトの進行状況
このサンプル スクリプトは、Bash 環境の Azure Cloud Shell でテストされています。 このスクリプトは、Windows ターミナルを使用して Ubuntu 22.04.3 LTS でも正常にテストされています。
名前でフィルター処理する 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
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Azure CLI