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