Ripristinare un'app del Servizio app eliminata con PowerShell

Se l'app è stata eliminata per errore nel Servizio app di Azure, è possibile ripristinarla usando i comandi del modulo Az di PowerShell.

Nota

  • Le app eliminate vengono rimosse definitivamente dal sistema 30 giorni dopo l'eliminazione iniziale. Dopo che un'app è stata rimossa, non può essere ripristinata.
  • La funzionalità di annullamento dell'eliminazione non è supportata per le app per le funzioni ospitate nel piano a consumo o nel piano Elastic Premium.
  • servizio app app in esecuzione in un ambiente del servizio app non supportano gli snapshot. Pertanto, la funzionalità di annullamento dell'eliminazione e la funzionalità di clonazione non sono supportate per le app servizio app in esecuzione in un ambiente del servizio app.

Ripetere la registrazione del provider di risorse del Servizio app

Alcuni clienti potrebbero riscontrare un problema relativo al recupero non riuscito dell'elenco di app eliminate. Per risolvere il problema, eseguire il comando seguente:

 Register-AzResourceProvider -ProviderNamespace "Microsoft.Web"

Elencare le app eliminate

Per ottenere la raccolta delle app eliminate, è possibile usare Get-AzDeletedWebApp.

Per informazioni dettagliate su una specifica app eliminata, è possibile usare:

Get-AzDeletedWebApp -Name <your_deleted_app> -Location <your_deleted_app_location> 

Le informazioni dettagliate includono:

  • DeletedSiteId: identificatore univoco per l'app, usato per scenari in cui sono state eliminate più app con lo stesso nome
  • SubscriptionID: sottoscrizione contenente la risorsa eliminata
  • Località: posizione dell'app originale
  • ResourceGroupName: nome del gruppo di risorse originale
  • Nome: nome dell'app originale.
  • Slot: il nome dello slot.
  • Tempo di eliminazione: quando è stata eliminata l'app

Ripristinare l’app eliminata

Nota

  • Restore-AzDeletedWebApp non è supportato per le app per le funzioni ospitate nel piano a consumo o nel piano Elastic Premium.
  • Il cmdlet Restore-AzDeletedWebApp ripristina un'app Web eliminata. L'app Web specificata da TargetResourceGroupName, TargetName e TargetSlot verrà sovrascritta con il contenuto e le impostazioni dell'app Web eliminata. Se i parametri di destinazione non vengono specificati, verranno compilati automaticamente con il gruppo di risorse, il nome e lo slot dell'app Web eliminati. Se l'app Web di destinazione non esiste, verrà creata automaticamente nel piano di servizio app specificato da TargetAppServicePlanName.
  • Per impostazione predefinita Restore-AzDeletedWebApp ripristina sia la configurazione dell'app che qualsiasi contenuto. Se si desidera ripristinare solo il contenuto, usare il flag -RestoreContentOnly con questo cmdlet.
  • I domini personalizzati, le associazioni o i certificati importati nell'app non verranno ripristinati. Sarà necessario aggiungerli nuovamente dopo il ripristino dell'app.

Dopo aver identificato l'app da ripristinare, è possibile ripristinarla usando Restore-AzDeletedWebApp, come illustrato negli esempi seguenti.

Il riferimento completo al commandlet è disponibile qui: Restore-AzDeletedWebApp.

Ripristinare il nome dell'app originale:

Restore-AzDeletedWebApp -TargetResourceGroupName <my_rg> -Name <my_app> -TargetAppServicePlanName <my_asp>

Ripristinare un nome di app diverso:

Restore-AzDeletedWebApp -ResourceGroupName <original_rg> -Name <original_app> -TargetResourceGroupName <target_rg> -TargetName <target_app> -TargetAppServicePlanName <target_asp>

Ripristinare uno slot per l'app di destinazione:

Restore-AzDeletedWebApp -TargetResourceGroupName <my_rg> -Name <my_app> -TargetAppServicePlanName <my_asp> -Slot <original_slot>

Nota

Gli slot di distribuzione non vengono ripristinati come parte dell'app. Se è necessario ripristinare uno slot di staging, usare il -Slot <slot-name> flag . Il commandlet sta ripristinando lo slot originale nello slot di produzione dell'app di destinazione. Per impostazione predefinita, verrà ripristinata Restore-AzDeletedWebApp sia la configurazione dell'app che il contenuto per l'app di destinazione. Se si desidera ripristinare solo il contenuto, usare il flag -RestoreContentOnly con questo cmdlet.

Ripristinare solo il contenuto del sito nell'app di destinazione

Restore-AzDeletedWebApp -TargetResourceGroupName <my_rg> -Name <my_app> -TargetAppServicePlanName <my_asp> -RestoreContentOnly

Ripristino usato per scenari in cui più app con lo stesso nome sono state eliminate con -DeletedSiteId

Restore-AzDeletedWebApp -ResourceGroupName <original_rg> -Name <original_app> -DeletedId /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/location/deletedSites/1234 -TargetAppServicePlanName <my_asp>

Gli input per il comando sono:

  • Gruppo di risorse di destinazione: gruppo di risorse di destinazione in cui deve essere ripristinata l'app
  • TargetName: app di destinazione in cui ripristinare l'app eliminata
  • TargetAppServicePlanName: servizio app piano collegato all'app
  • Nome: il nome dell'app deve essere univoco a livello globale.
  • ResourceGroupName: gruppo di risorse originale per l'app eliminata
  • Slot: slot per l'app eliminata
  • RestoreContentOnly: per impostazione predefinita Restore-AzDeletedWebApp ripristina sia la configurazione dell'app che qualsiasi contenuto. Se si vuole ripristinare solo il contenuto, è possibile usare il -RestoreContentOnly flag con questo commandlet.

Nota

Se l'app è ospitata in e quindi eliminata da un ambiente del servizio app, può essere ripristinata solo se il ambiente del servizio app corrispondente esiste ancora.

Ripristinare l'app per le funzioni eliminata

Se l'app per le funzioni è ospitata in un piano di servizio app dedicato, può essere ripristinata, purché usi l'archiviazione predefinita servizio app.

  1. Recuperare deletedSiteId della versione dell'app da ripristinare usando il cmdlet Get-AzDeletedWebApp:
Get-AzDeletedWebApp -ResourceGroupName <RGofDeletedApp> -Name <NameofApp> 
  1. Creare una nuova app per le funzioni in un piano dedicato. Vedere le istruzioni per creare un'app nel portale.
  2. Eseguire il ripristino nell'app per le funzioni appena creata usando questo cmdlet:
Restore-AzDeletedWebApp -ResourceGroupName <RGofnewapp> -Name <newApp> -deletedId "/subscriptions/xxxx/providers/Microsoft.Web/locations/xxxx/deletedSites/xxxx"

Attualmente non è disponibile alcun supporto per l'app per le funzioni Undelete (Restore-AzDeletedWebApp) ospitata in un piano a consumo o in un piano Premium elastico perché il contenuto risiede in File di Azure in un account Archiviazione. Se non è stato eliminato "hard" che File di Azure account di archiviazione o se l'account esiste e le condivisioni file non sono state eliminate, è possibile usare la procedura come soluzione alternativa:

  1. Creare una nuova app per le funzioni in un piano a consumo o Premium. Vedere le istruzioni per creare un'app nel portale.

  2. Impostare le impostazioni dell'app seguenti per fare riferimento all'account di archiviazione precedente, che contiene il contenuto dell'app precedente.

    Impostazione app Valore suggerito
    AzureWebJobsStorage Connessione ion Stringa per l'account di archiviazione usato dall'app eliminata.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Connessione ion Stringa per l'account di archiviazione usato dall'app eliminata.
    WEBSITE_CONTENTSHARE Condivisione file nell'account di archiviazione usato dall'app eliminata.