你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

从部署历史记录自动删除

将资源部署到 Azure 时,部署详细信息记录在部署发生范围的部署历史记录中。 每个范围(无论是 资源组订阅管理组租户)都可以在其历史记录中存储多达 800 个部署 。 达到此限制后,Azure 会自动删除最早的部署 ,为新部署提供空间。 此自动清理过程于 2020 年 8 月 6 日实施。

注意

从历史记录中删除部署不会影响已部署的任何资源。

自动删除部署历史记录概述

超过 700 个部署时,将从历史记录中删除部署。 Azure 资源管理器会删除部署,直到历史部署量下降到 600 个部署为止。 始终最先删除最早的部署。

删除部署历史记录的示意图。

重要

如果范围已限制为 800,则下一个部署将失败并出现错误。 会立即启动自动删除过程。 等待片刻后,可以再次尝试进行部署。

除了部署之外,还可以在运行 what-if 操作或验证部署时触发删除操作。

为部署指定与历史记录中的部署相同的名称时,将重置其在历史记录中的位置。 部署会移至历史记录中的最新位置。 在发生错误后回退到该部署时,也会重置部署的位置。

自动删除所需的权限

在部署模板的用户的标识下请求删除。 若要删除部署,用户必须有权访问 Microsoft.Resources/deployments/delete 操作。 如果用户没有所需的权限,则不会从历史记录中删除部署。

如果当前用户没有所需的权限,则在下一次部署期间将再次尝试自动删除。

处理资源锁

如果对资源组或订阅具有 CanNotDelete 锁 ,则无法自动删除该范围内的部署。 若要启用部署历史记录的自动清理,需要删除锁。

若要删除资源组锁,请运行以下命令:

$lockId = (Get-AzResourceLock -ResourceGroupName lockedRG).LockId
Remove-AzResourceLock -LockId $lockId

若要删除资源组锁,请运行以下命令:

选择退出自动删除

可以选择退出自动删除以手动管理部署历史记录。 谨慎使用此选项,因为 800 部署限制 保持不变,超过它会导致部署失败。

重要

选择退出仅适用于订阅范围,因为它由订阅级 Microsoft.Resources/DisableDeploymentGrooming 功能标志控制。 不能仅为特定资源组选择退出。 对于租户或管理组范围,请提交支持工单来禁用自动删除。

若要在订阅范围内禁用自动删除(影响订阅范围内的所有资源组):

对于 PowerShell,请使用 Register-AzProviderFeature

Register-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

要查看订阅的当前状态,请使用:

Get-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

若要重新启用自动删除,请使用 Azure REST API 或 Azure CLI。

后续步骤