Share via


Terugdraaien op fout bij geslaagde implementatie

Wanneer een implementatie mislukt, kunt u een eerdere, geslaagde implementatie automatisch opnieuw implementeren vanuit uw implementatiegeschiedenis. Deze functionaliteit is handig als u een bekende goede status hebt voor uw infrastructuurimplementatie en deze status wilt herstellen. U kunt een bepaalde eerdere implementatie of de laatste geslaagde implementatie opgeven.

Belangrijk

Met deze functie wordt een mislukte implementatie teruggedraaid door een eerdere implementatie opnieuw te implementeren. Dit resultaat kan afwijken van wat u zou verwachten van het ongedaan maken van de mislukte implementatie. Zorg ervoor dat u begrijpt hoe de eerdere implementatie opnieuw wordt geïmplementeerd.

Overwegingen voor opnieuw implementeren

Voordat u deze functie gebruikt, moet u rekening houden met deze details over hoe de herverdeling wordt verwerkt:

  • De vorige implementatie wordt uitgevoerd met behulp van de volledige modus, zelfs als u de incrementele modus tijdens de eerdere implementatie hebt gebruikt. Opnieuw implementeren in de volledige modus kan onverwachte resultaten opleveren wanneer de eerdere implementatie incrementeel werd gebruikt. De volledige modus betekent dat alle resources die niet zijn opgenomen in de vorige implementatie, worden verwijderd. Geef een eerdere implementatie op die alle resources en de bijbehorende statussen vertegenwoordigt die u in de resourcegroep wilt opnemen. Zie de implementatiemodi voor meer informatie.
  • De herployment wordt precies uitgevoerd zoals eerder met dezelfde parameters is uitgevoerd. U kunt de parameters niet wijzigen.
  • De herverdeling is alleen van invloed op de resources, eventuele gegevenswijzigingen worden niet beïnvloed.
  • U kunt deze functie alleen gebruiken met resourcegroepimplementaties. Het biedt geen ondersteuning voor implementaties op abonnements-, beheergroep- of tenantniveau. Zie Resourcegroepen en resources maken op abonnementsniveau voor meer informatie over de implementatie op abonnementsniveau.
  • U kunt deze optie alleen gebruiken met implementaties op hoofdniveau. Implementaties van een geneste sjabloon zijn niet beschikbaar voor herimplementatie.

Als u deze optie wilt gebruiken, moeten uw implementaties unieke namen hebben in de implementatiegeschiedenis. Het is alleen met unieke namen die een specifieke implementatie kan worden geïdentificeerd. Als u geen unieke namen hebt, kan een mislukte implementatie een geslaagde implementatie overschrijven in de geschiedenis.

Als u een eerdere implementatie opgeeft die niet bestaat in de implementatiegeschiedenis, retourneert de terugdraaiactie een fout.

Powershell

Als u de laatste geslaagde implementatie opnieuw wilt implementeren, voegt u de -RollbackToLastDeployment parameter toe als vlag.

New-AzResourceGroupDeployment -Name ExampleDeployment02 `
  -ResourceGroupName $resourceGroupName `
  -TemplateFile c:\MyTemplates\azuredeploy.json `
  -RollbackToLastDeployment

Als u een specifieke implementatie opnieuw wilt implementeren, gebruikt u de -RollBackDeploymentName parameter en geeft u de naam van de implementatie op. De opgegeven implementatie moet zijn voltooid.

New-AzResourceGroupDeployment -Name ExampleDeployment02 `
  -ResourceGroupName $resourceGroupName `
  -TemplateFile c:\MyTemplates\azuredeploy.json `
  -RollBackDeploymentName ExampleDeployment01

Azure-CLI

Als u de laatste geslaagde implementatie opnieuw wilt implementeren, voegt u de --rollback-on-error parameter toe als vlag.

az deployment group create \
  --name ExampleDeployment \
  --resource-group ExampleGroup \
  --template-file storage.json \
  --parameters storageAccountType=Standard_GRS \
  --rollback-on-error

Als u een specifieke implementatie opnieuw wilt implementeren, gebruikt u de --rollback-on-error parameter en geeft u de naam van de implementatie op. De opgegeven implementatie moet zijn voltooid.

az deployment group create \
  --name ExampleDeployment02 \
  --resource-group ExampleGroup \
  --template-file storage.json \
  --parameters storageAccountType=Standard_GRS \
  --rollback-on-error ExampleDeployment01

REST-API

Als u de laatste geslaagde implementatie opnieuw wilt implementeren als de huidige implementatie mislukt, gebruikt u:

{
  "properties": {
    "templateLink": {
      "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
      "contentVersion": "1.0.0.0"
    },
    "mode": "Incremental",
    "parametersLink": {
      "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
      "contentVersion": "1.0.0.0"
    },
    "onErrorDeployment": {
      "type": "LastSuccessful",
    }
  }
}

Als u een specifieke implementatie opnieuw wilt implementeren als de huidige implementatie mislukt, gebruikt u:

{
  "properties": {
    "templateLink": {
      "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
      "contentVersion": "1.0.0.0"
    },
    "mode": "Incremental",
    "parametersLink": {
      "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
      "contentVersion": "1.0.0.0"
    },
    "onErrorDeployment": {
      "type": "SpecificDeployment",
      "deploymentName": "<deploymentname>"
    }
  }
}

De opgegeven implementatie moet zijn voltooid.

Volgende stappen