Supressões automáticas do histórico de implantação

Sempre que implementa um modelo, as informações sobre a implementação são escritas para o histórico de implementação. Cada grupo de recursos está limitado a 800 implementações no seu histórico de implantação.

O Azure Resource Manager elimina automaticamente as implementações do seu histórico à medida que se aproxima do limite. A eliminação automática é uma mudança do comportamento do passado. Anteriormente, tinha de eliminar manualmente as implementações do histórico de implementação para evitar um erro. Esta alteração foi implementada no dia 6 de agosto de 2020.

As eliminações automáticas são suportadas para o grupo de recursos e para as implementações de subscrição. Atualmente, as implementações na história para o grupo de gestão e implantações de inquilinos não são automaticamente eliminadas.

Nota

Excluir uma implantação da história não afeta nenhum dos recursos que foram mobilizados.

Quando as implementações são eliminadas

As implementações são eliminadas do seu histórico quando ultrapassa as 700 implementações. A azure Resource Manager elimina as implementações até que a história seja de 600. As implementações mais antigas são sempre eliminadas primeiro.

Diagram of deployment history deletion.

Importante

Se o seu grupo de recursos já estiver no limite de 800, a sua próxima implementação falha com um erro. O processo de eliminação automática começa imediatamente. Pode tentar o seu destacamento novamente depois de uma curta espera.

Além das implementações, também desencadeia supressões quando executa o e-se operação ou valida uma implementação.

Quando se dá a uma implantação o mesmo nome que um na história, repõe-se o seu lugar na história. A implantação muda-se para o lugar mais recente da história. Também reinicia o lugar de uma implantação quando voltar para essa implantação após um erro.

Remover fechaduras que bloqueiam supressões

Se tiver um bloqueio CanNotDelete num grupo de recursos, as implementações desse grupo de recursos não podem ser eliminadas. Tem de remover o cadeado para tirar partido das supressões automáticas no histórico de implantação.

Para utilizar o PowerShell para eliminar uma fechadura, execute os seguintes comandos:

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

Para utilizar o Azure CLI para eliminar uma fechadura, executar os seguintes comandos:

lockid=$(az lock show --resource-group lockedRG --name deleteLock --output tsv --query id)
az lock delete --ids $lockid

Permissões obrigatórias

As supressões são solicitadas sob a identidade do utilizador que implementou o modelo. Para eliminar as implementações, o utilizador deve ter acesso à ação Microsoft.Resources/deployments/delete . Se o utilizador não tiver as permissões necessárias, as implementações não são eliminadas do histórico.

Se o utilizador atual não tiver as permissões necessárias, a eliminação automática é novamente tentada durante a próxima implementação.

Opte por excluir as supressões automáticas

Pode optar por excluir as supressões automáticas da história. Utilize esta opção apenas quando pretender gerir o histórico de implementação por si mesmo. O limite de 800 destacamentos na história ainda está imposto. Se ultrapassar 800 implementações, receberá um erro e a sua implantação falhará.

Para desativar as eliminações automáticas, registe a bandeira da Microsoft.Resources/DisableDeploymentGrooming funcionalidade. Quando regista a bandeira de funcionalidade, opta por excluir as supressões automáticas para toda a subscrição do Azure. Não pode optar por apenas um determinado grupo de recursos. Para reenutilar as supressões automáticas, não registe a bandeira de características.

Para PowerShell, utilize a Register-AzProviderFeature.

Register-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Para ver o estado atual da sua subscrição, utilize:

Get-AzProviderFeature -ProviderNamespace Microsoft.Resources -FeatureName DisableDeploymentGrooming

Para reenutilizá-lo, utilize Azure REST API ou Azure CLI.

Passos seguintes