Rollback in caso di errore per la corretta distribuzione
Quando una distribuzione non riesce, è possibile ridistribuire automaticamente una distribuzione precedente con esito positivo dalla cronologia della distribuzione. Questa funzionalità è utile se si ha uno stato valido noto per la distribuzione dell'infrastruttura e si vuole ripristinare questo stato. È possibile specificare una particolare distribuzione precedente o l'ultima distribuzione riuscita.
Importante
Questa funzionalità esegue il rollback di una distribuzione non riuscita ridistribuendo una distribuzione precedente. Questo risultato può essere diverso da quello previsto per annullare la distribuzione non riuscita. Assicurarsi di comprendere come viene ridistribuito la distribuzione precedente.
Considerazioni sulla ridistribuzione
Prima di usare questa funzionalità, considerare questi dettagli sulla modalità di gestione della ridistribuzione:
- La distribuzione precedente viene eseguita usando la modalità completa, anche se è stata usata la modalità incrementale durante la distribuzione precedente. La ridistribuzione in modalità completa potrebbe produrre risultati imprevisti quando la distribuzione precedente usava incrementale. La modalità completa indica che tutte le risorse non incluse nella distribuzione precedente vengono eliminate. Specificare una distribuzione precedente che rappresenta tutte le risorse e i relativi stati da esistere nel gruppo di risorse. Per altre informazioni, vedere Modalità di distribuzione.
- La ridistribuzione viene eseguita esattamente come è stata eseguita in precedenza con gli stessi parametri. Non è possibile modificare i parametri.
- La ridistribuzione influisce solo sulle risorse, le eventuali modifiche ai dati non sono interessate.
- È possibile usare questa funzionalità solo con le distribuzioni di gruppi di risorse. Non supporta le distribuzioni a livello di sottoscrizione, gruppo di gestione o tenant. Per altre informazioni sulla distribuzione a livello di sottoscrizione, vedere Creare gruppi di risorse e risorse a livello di sottoscrizione.
- È possibile usare questa opzione solo con le distribuzioni a livello di radice. Le distribuzioni di un modello annidato non sono disponibili per la ridistribuzione.
Per usare questa opzione, le distribuzioni devono avere nomi univoci nella cronologia di distribuzione. È solo con nomi univoci che è possibile identificare una distribuzione specifica. Se non si hanno nomi univoci, una distribuzione non riuscita potrebbe sovrascrivere una distribuzione riuscita nella cronologia.
Se si specifica una distribuzione precedente che non esiste nella cronologia di distribuzione, il rollback restituisce un errore.
PowerShell
Per eseguire nuovamente l'ultima distribuzione con esito positivo, aggiungere il parametro -RollbackToLastDeployment
come contrassegno.
New-AzResourceGroupDeployment -Name ExampleDeployment02 `
-ResourceGroupName $resourceGroupName `
-TemplateFile c:\MyTemplates\azuredeploy.json `
-RollbackToLastDeployment
Per eseguire nuovamente una distribuzione specifica, usare il parametro -RollBackDeploymentName
e specificare il nome della distribuzione. La distribuzione specificata deve aver avuto esito positivo.
New-AzResourceGroupDeployment -Name ExampleDeployment02 `
-ResourceGroupName $resourceGroupName `
-TemplateFile c:\MyTemplates\azuredeploy.json `
-RollBackDeploymentName ExampleDeployment01
Interfaccia della riga di comando di Azure
Per eseguire nuovamente l'ultima distribuzione con esito positivo, aggiungere il parametro --rollback-on-error
come contrassegno.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--template-file storage.json \
--parameters storageAccountType=Standard_GRS \
--rollback-on-error
Per eseguire nuovamente una distribuzione specifica, usare il parametro --rollback-on-error
e specificare il nome della distribuzione. La distribuzione specificata deve aver avuto esito positivo.
az deployment group create \
--name ExampleDeployment02 \
--resource-group ExampleGroup \
--template-file storage.json \
--parameters storageAccountType=Standard_GRS \
--rollback-on-error ExampleDeployment01
REST API
Per eseguire nuovamente l'ultima distribuzione con esito positivo se la distribuzione corrente non riesce, usare:
{
"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",
}
}
}
Per eseguire nuovamente una distribuzione specifica se la distribuzione corrente non riesce, usare:
{
"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>"
}
}
}
La distribuzione specificata deve aver avuto esito positivo.
Passaggi successivi
- Per informazioni sulle modalità complete e incrementali, vedere Modalità di distribuzione di Azure Resource Manager.
- Per informazioni su come definire i parametri nel modello, vedere Comprendere la struttura e la sintassi dei modelli di Azure Resource Manager.