如何使用Azure CLI批量列出并清理已软删除的Azure认知服务资源
使用Azure CLI管理软删除的Azure Cognitive Services资源
1. 列出已软删除的认知服务资源
执行以下命令,查看当前订阅下所有处于软删除状态的Azure Cognitive Services资源:
az cognitiveservices account list-deleted --output table
--output table 参数用于格式化输出为易读的表格,也可替换为 json 或 yaml 以获取详细的结构化数据。
2. 清除单个软删除资源
若需清除指定的软删除资源,需提供资源名称、所属资源组和所在区域,执行命令:
az cognitiveservices account purge --name <资源名称> --resource-group <资源组名称> --location <资源区域>
提示:资源的区域和资源组信息可通过第一步的
list-deleted命令获取。
3. 一次性批量清理所有软删除的试用版资源
试用版资源的SKU通常以F开头(如免费层F0),可通过脚本批量筛选并清除这类资源:
Bash 脚本示例
# 需提前安装jq工具(用于JSON解析) az cognitiveservices account list-deleted --output json | jq -r '.[] | select(.sku.name | startswith("F")) | "--name \(.name) --resource-group \(.resourceGroup) --location \(.location)"' | while read args; do echo "正在清除试用版资源: $args" az cognitiveservices account purge $args done
PowerShell 脚本示例
$deletedResources = az cognitiveservices account list-deleted --output json | ConvertFrom-Json foreach ($resource in $deletedResources) { if ($resource.sku.name -like "F*") { Write-Host "正在清除试用版资源: $($resource.name)" az cognitiveservices account purge --name $resource.name --resource-group $resource.resourceGroup --location $resource.location } }
解决部署时的FlagMustBeSetForRestore错误
当部署资源时遇到该错误,说明目标资源名称已被软删除的资源占用,可通过两种方式解决:
- 恢复软删除资源:在CLI部署命令中添加
--set restore=true参数,或在ARM模板的properties节点中设置"restore": true - 清除后重新部署:先通过上述
purge命令清除对应的软删除资源,再执行部署操作
内容的提问来源于stack exchange,提问作者Kai Walter
相关产品推荐
相关产品推荐

