Partager via


Restaurer une application App Service supprimée en utilisant PowerShell

Si vous avez supprimé accidentellement votre application dans Azure App Service, vous pouvez la restaurer à l’aide des commandes du module PowerShell Az.

Notes

  • Les applications supprimées sont purgées du système 30 jours après la suppression initiale. Une fois qu’une application a été supprimée définitivement, il n’est plus possible de la récupérer.
  • La suppression de la fonctionnalité n’est pas prise en charge pour les applications de fonction hébergées sur le plan Consommation ou le plan Elastic Premium.
  • Les applications App Service exécutées dans App Service Environment (ASE) ne prennent pas en charge les captures instantanées. Par conséquent, les fonctionnalités d’annulation de suppression et de clonage ne sont pas prises en charge pour les applications App Service s’exécutant dans un environnement ASE.

Réinscrire le fournisseur de ressources App Service

Certains clients peuvent rencontrer un problème entraînant l’échec de la récupération de la liste des applications supprimées. Pour résoudre le problème, exécutez la commande suivante :

 Register-AzResourceProvider -ProviderNamespace "Microsoft.Web"

Lister les applications supprimées

Pour obtenir la collection des applications supprimées, vous pouvez utiliser Get-AzDeletedWebApp.

Pour plus d’informations sur une application supprimée spécifique, vous pouvez utiliser :

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

Les informations détaillées incluent :

  • DeletedSiteId : Identificateur unique de l’application, utilisé pour les scénarios où plusieurs applications portant le même nom ont été supprimées.
  • SubscriptionID : Abonnement contenant la ressource supprimée.
  • Emplacement : Emplacement de l’application d’origine.
  • ResourceGroupName : Nom du groupe de ressources d’origine.
  • Name : Nom de l’application d’origine.
  • Emplacement : Nom de l’emplacement.
  • Heure de la suppression : Horodatage de la suppression de l’application.

Restaurer une application supprimée

Notes

  • Restore-AzDeletedWebApp n’est pas pris en charge pour les applications de fonction hébergées sur le plan Consommation ou le plan Elastic Premium.
  • L’applet de commande Restore-AzDeletedWebApp restaure une application web supprimée. L’application web spécifiée par TargetResourceGroupName, TargetName et TargetSlot sera remplacée par le contenu et les paramètres de l’application web supprimée. Si les paramètres cibles ne sont pas spécifiés, ils sont automatiquement renseignés avec le groupe de ressources, le nom et l’emplacement de l’application web supprimée. Si l’application web cible n’existe pas, elle est automatiquement créée dans le plan App Service spécifié par TargetAppServicePlanName.
  • Par défaut, Restore-AzDeletedWebApp restaure à la fois la configuration de votre application et tout contenu. Si vous voulez uniquement restaurer le contenu, utilisez l’indicateur -RestoreContentOnly avec cette cmdlet.
  • Les domaines personnalisés, les liaisons ou les certificats que vous importez vers votre application ne sont pas restaurés. Vous devez les ajouter à nouveau après la restauration de votre application.

Après avoir identifié l’application que vous souhaitez restaurer, vous pouvez la restaurer à l’aide de Restore-AzDeletedWebApp, comme illustré dans les exemples suivants.

La référence complète de l’applet de commande se trouve ici : Restore-AzDeletedWebApp .

Restaurer avec le nom d’origine de l’application :

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

Restaurer avec un autre nom d’application :

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

Restaurer un emplacement sur l’application cible :

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

Notes

Les emplacements de déploiement ne sont pas restaurés dans le cadre de votre application. Si vous devez restaurer un emplacement de préproduction, utilisez l’indicateur -Slot <slot-name>. L’applet de commande restaure l’emplacement d’origine à l’emplacement de production de l’application cible. Par défaut, Restore-AzDeletedWebApp restaure à la fois la configuration de votre application et tout contenu sur l’application cible. Si vous voulez uniquement restaurer le contenu, utilisez l’indicateur -RestoreContentOnly avec cette cmdlet.

Restaurer uniquement le contenu du site sur l’application cible

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

Restauration utilisée dans les scénarios où plusieurs applications portant le même nom ont été supprimées avec -DeletedSiteId

Restore-AzDeletedWebApp -ResourceGroupName <original_rg> -Name <original_app> -DeletedId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/location/deletedSites/1234 -TargetAppServicePlanName <my_asp>

Les entrées de la commande sont les suivantes :

  • Groupe de ressources cible : groupe de ressources cible dans lequel l’application est restaurée.
  • TargetName : application cible sur laquelle l’application supprimée doit être restaurée
  • TargetAppServicePlanName : Plan App Service lié à l’application.
  • Name : Nom de l’application qui doit être globalement unique.
  • ResourceGroupName: groupe de ressources d’origine pour l’application supprimée, vous pouvez l’obtenir à partir de Get-AzDeletedWebApp -Name <your_deleted_app> -Location <your_deleted_app_location>
  • Slot : emplacement pour l’application supprimée
  • RestoreContentOnly : par défaut, Restore-AzDeletedWebApp restaure à la fois la configuration de votre application et tout contenu. Si vous voulez restaurer uniquement le contenu, utilisez l’indicateur -RestoreContentOnly avec cette applet de commande.

Notes

Si l’application a été hébergée sur un environnement ASE, puis supprimée de celui-ci, elle ne peut être restaurée que si l’environnement ASE correspondant existe toujours.

Restaurer l’application de fonction supprimée

Si l’application de fonction a été hébergée sur un plan App Service dédié, elle peut être restaurée, tant qu’elle utilise le stockage App Service par défaut.

  1. Récupérez le DeletedSiteId de la version de l’application que vous souhaitez restaurer, à l’aide de l’applet de commande Get-AzDeletedWebApp :
Get-AzDeletedWebApp -ResourceGroupName <RGofDeletedApp> -Name <NameofApp> 
  1. Créez une application de fonction dans un plan Dedicated. Reportez-vous aux instructions pour créer une application dans le portail.
  2. Restaurez l’application de fonction nouvellement créée à l’aide de cette applet de commande :
Restore-AzDeletedWebApp -ResourceGroupName <RGofnewapp> -Name <newApp> -deletedId "/subscriptions/xxxx/providers/Microsoft.Web/locations/xxxx/deletedSites/xxxx"

Actuellement, il n’existe aucune prise en charge de l’application de fonction Undelete (Restore-AzDeletedWebApp) hébergée dans un plan Consommation ou un plan Elastic Premium, car le contenu réside sur Azure Files dans un compte de stockage. Si vous n’avez pas supprimé définitivement ce compte de stockage Azure Files, ou si le compte existe et que les partages de fichiers n’ont pas été supprimés, vous pouvez utiliser les étapes suivantes comme solution de contournement :

  1. Créez une application de fonction dans un plan Consommation ou Premium. Reportez-vous aux instructions pour créer une application dans le portail.

  2. Définissez les paramètres d’application suivants pour faire référence à l’ancien compte de stockage, qui contient le contenu de l’application précédente.

    Paramètre d'application Valeur suggérée
    AzureWebJobsStorage Chaîne de connexion pour le compte de stockage utilisé par l’application supprimée.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Chaîne de connexion pour le compte de stockage utilisé par l’application supprimée.
    WEBSITE_CONTENTSHARE Partage de fichiers sur le compte de stockage utilisé par l’application supprimée.