解决部署计数超出 800 的错误
每个资源组在其部署历史记录中最多只能有 800 个部署。 本文介绍在部署因超出允许的 800 个部署的限制而失败时可能会出现的错误。 若要解决此错误,请从资源组历史记录中删除部署。 从历史记录中删除部署不会影响已部署的任何资源。
当你接近限制时,Azure 资源管理器会自动删除历史记录中的部署。 仍出现此错误可能是由于以下原因之一:
- 你在资源组上有一个防止从部署历史记录中删除的 CanNotDelete 锁定。
- 你已选择退出自动删除。
- 你有大量同时运行的部署,并且自动删除的处理速度不够快,无法减少总数量。
有关删除锁定或选择加入自动删除的信息,请参阅从部署历史记录自动删除。
本文介绍如何从历史记录手动删除部署。
症状
在部署过程中,你收到错误,该错误指出当前部署会超出 800 个部署的配额。
解决方案
Azure CLI
使用 az deployment group delete 命令从历史记录中删除部署。
az deployment group delete --resource-group exampleGroup --name deploymentName
若要删除五天以前的所有部署,请使用:
startdate=$(date +%F -d "-5days")
deployments=$(az deployment group list --resource-group exampleGroup --query "[?properties.timestamp<'$startdate'].name" --output tsv)
for deployment in $deployments
do
az deployment group delete --resource-group exampleGroup --name $deployment
done
可使用以下命令获取部署历史记录中的当前计数:
az deployment group list --resource-group exampleGroup --query "length(@)"
Azure PowerShell
使用 Remove-AzResourceGroupDeployment 命令从历史记录中删除部署。
Remove-AzResourceGroupDeployment -ResourceGroupName exampleGroup -Name deploymentName
若要删除五天以前的所有部署,请使用:
$deployments = Get-AzResourceGroupDeployment -ResourceGroupName exampleGroup | Where-Object Timestamp -lt ((Get-Date).AddDays(-5))
foreach ($deployment in $deployments) {
Remove-AzResourceGroupDeployment -ResourceGroupName exampleGroup -Name $deployment.DeploymentName
}
可使用以下命令获取部署历史记录中的当前计数:
(Get-AzResourceGroupDeployment -ResourceGroupName exampleGroup).Count
第三方解决方案
以下外部解决方案解决特定场景的问题: