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
- Zie De implementatiemodi van Azure Resource Manager voor meer informatie over volledige en incrementele modi.
- Zie De structuur en syntaxis van Azure Resource Manager-sjablonen begrijpen voor meer informatie over het definiëren van parameters in uw sjabloon.