解决部署计数超出 800 的错误

每个资源组在其部署历史记录中最多只能有 800 个部署。 本文介绍在部署因超出允许的 800 个部署的限制而失败时可能会出现的错误。 若要解决此错误,请从资源组历史记录中删除部署。 从历史记录中删除部署不会影响已部署的任何资源。

当你接近限制时,Azure 资源管理器会自动删除历史记录中的部署。 仍出现此错误可能是由于以下原因之一:

  1. 你在资源组上有一个防止从部署历史记录中删除的 CanNotDelete 锁定。
  2. 你已选择退出自动删除。
  3. 你有大量同时运行的部署,并且自动删除的处理速度不够快,无法减少总数量。

有关删除锁定或选择加入自动删除的信息,请参阅从部署历史记录自动删除

本文介绍如何从历史记录手动删除部署。

症状

在部署过程中,你收到错误,该错误指出当前部署会超出 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

第三方解决方案

以下外部解决方案解决特定场景的问题: