Beheben des Fehlers, dass die Anzahl der Bereitstellungen 800 überschreitet

Jede Ressourcengruppe ist in ihrem Bereitstellungsverlauf auf 800 Bereitstellungen beschränkt. Dieser Artikel beschreibt den Fehler, den Sie erhalten, wenn bei einer Bereitstellung ein Fehler auftritt, da dadurch die zulässigen 800 Bereitstellungen überschritten würden. Um diesen Fehler zu beheben, löschen Sie Bereitstellungen aus dem Verlauf der Ressourcengruppe. Das Löschen einer Bereitstellung aus dem Verlauf hat keinerlei Auswirkungen auf die bereitgestellten Ressourcen.

Azure Resource Manager löscht Bereitstellungen automatisch aus dem Verlauf, wenn der Grenzwert fast erreicht ist. Dieser Fehler wird aus einem der folgenden Gründe unter Umständen weiterhin angezeigt:

  1. Für die Ressourcengruppe ist eine CanNotDelete-Sperre festgelegt, die Löschungen aus dem Bereitstellungsverlauf verhindert.
  2. Sie haben automatische Löschungen deaktiviert.
  3. Sie verfügen über eine große Anzahl von gleichzeitig ausgeführten Bereitstellungen, und die automatischen Löschungen werden nicht schnell genug verarbeitet, um die Gesamtanzahl zu verringern.

Informationen dazu, wie Sie die Sperre entfernen oder automatische Löschungen aktivieren, finden Sie unter Automatische Löschungen aus dem Bereitstellungsverlauf.

In diesem Artikel wird beschrieben, wie Sie Bereitstellungen manuell aus dem Verlauf löschen.

Symptom

Während einer Bereitstellung erhalten Sie einen Fehler, dass die aktuelle Bereitstellung das Kontingent von 800 Bereitstellungen überschreitet.

Lösung

Verwenden Sie den Befehl az deployment group delete, um Bereitstellungen aus dem Verlauf zu löschen.

az deployment group delete --resource-group exampleGroup --name deploymentName

Verwenden Sie Folgendes, um alle Bereitstellungen zu löschen, die älter als fünf Tage sind:

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

Sie können die aktuelle Anzahl im Bereitstellungsverlauf mit dem folgenden Befehl abrufen. Für dieses Beispiel ist eine Bash-Umgebung Voraussetzung.

az deployment group list --resource-group exampleGroup --query "length(@)"