從部署歷程記錄中自動刪除
每次部署範本時,部署的相關資訊都會寫入部署歷程記錄。 在部署歷程記錄中,每個 Azure 資源群組最多可有 800 個部署。
Azure Resource Manager 會您接近限制時,自動從您的歷程記錄中刪除部署。 自動刪除是過去行為的變更。 先前,您必須從部署歷程記錄中手動刪除部署,以避免發生錯誤。 已在 2020 年 8 月 6 日實作此變更。
注意
從歷程記錄中刪除部署,並不會對已經部署的任何資源造成影響。
刪除部署時
當您超過 700 個部署時,系統會從歷程記錄中刪除部署。 Azure Resource Manager 會持續刪除部署,直到歷程記錄中的部署降至 600 個。 一律先刪除最舊的部署。
重要
如果您的資源群組已達 800 限制,則下一個部署將會失敗並出現錯誤。 自動刪除流程會立即開始。 您可以稍待一會並再次嘗試部署。
除了部署之外,您也會在執行 what-if 作業或驗證部署時,觸發刪除作業。
當提供部署與歷程記錄中某個部署相同的名稱時,您會重設其在歷程記錄中的位置。 此部署會移至歷程記錄中最新的位置。 當您在發生錯誤後復原至該部署時,也會重設部署的位置。
移除封鎖刪除作業的鎖定
如果資源群組上具有 CanNotDelete 鎖定,則無法刪除該資源群組的部署。 您必須移除該鎖定,才能利用部署歷程記錄中的自動刪除。
若要使用 PowerShell 來刪除鎖定,請執行下列命令:
$lockId = (Get-AzResourceLock -ResourceGroupName lockedRG).LockId
Remove-AzResourceLock -LockId $lockId
若要使用 Azure CLI 來刪除鎖定,請執行下列命令:
lockid=$(az lock show --resource-group lockedRG --name deleteLock --output tsv --query id)
az lock delete --ids $lockid
所需的權限
系統會在已部署範本的使用者身分識別下要求刪除作業。 若要刪除部署,則使用者必須具有 Microsoft.Resources/deployments/delete 動作的存取權。 如果使用者不具有所需權限,則系統不會從歷程記錄中刪除部署。
如果目前的使用者不具有所需權限,則系統會在下一次部署期間再次嘗試自動刪除。
選擇退出自動刪除
您可以從歷程記錄中選擇退出自動刪除。 僅當您想自行管理部署歷程記錄時,才可使用此選項。 系統仍會強制執行歷程記錄中 800 個部署的限制。 如果超過 800 個部署,您的部署會失敗並收到錯誤。
若要停用租用戶或管理群組範圍的自動刪除,請開啟支援票證。 如需指示,請參閱要求支援。
若要停用訂用帳戶範圍的自動刪除,請註冊 Microsoft.Resources/DisableDeploymentGrooming
功能旗標。 註冊功能旗標時,您可選擇退出整個 Azure 訂用帳戶的自動刪除。 您無法只選擇退出特定的資源群組。 若要重新啟用自動刪除,請取消註冊功能旗標。
針對 PowerShell,請使用 Register-AzProviderFeature。
Register-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming
若要查看訂用帳戶的目前狀態,請使用:
Get-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming
若要重新啟用自動刪除,請使用 Azure REST API 或 Azure CLI。
下一步
- 若要了解如何檢視部署歷程記錄,請參閱使用 Azure Resource Manager 檢視部署歷程記錄。