Compartir a través de


Restauración de aplicaciones de App Service eliminadas con PowerShell

Si por accidente ha eliminado su aplicación de Azure App Service, puede restaurarla mediante los comandos del módulo de PowerShell Az.

Nota

  • Las aplicaciones eliminadas se purgan del sistema 30 días después de la eliminación inicial. Después de purgar una aplicación, no se puede recuperar.
  • No se admite la funcionalidad de recuperación para las aplicaciones de funciones hospedadas en el plan Consumo o en el plan Elastic Premium.
  • Las aplicaciones de App Service que se ejecutan en un entorno de App Service no admiten instantáneas. Por lo tanto, la funcionalidad de deshacer eliminación y la funcionalidad de clonación no se admiten para las aplicaciones de App Service que se ejecutan en una instancia de App Service Environment.

Volver a registrar el proveedor de recursos de App Service

Algunos clientes pueden encontrarse con una incidencia por la que no se recupera la lista de aplicaciones eliminadas. Para resolver el problema, ejecute el siguiente comando:

 Register-AzResourceProvider -ProviderNamespace "Microsoft.Web"

Mostrar una lista de aplicaciones eliminadas

Para obtener la colección de aplicaciones eliminadas, puede usar Get-AzDeletedWebApp.

Para más información sobre una aplicación eliminada específica, puede usar:

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

La información detallada incluye:

  • DeletedSiteId: identificador único de la aplicación, que se usa con escenarios en los que se han eliminado varias aplicaciones con el mismo nombre.
  • SubscriptionID: suscripción que contiene el recurso eliminado.
  • Ubicación: ubicación de la aplicación original.
  • ResourceGroupName: nombre del grupo de recursos original.
  • Name: nombre de la aplicación original.
  • Ranura: el nombre de la ranura.
  • Hora de eliminación: cuándo se eliminó la aplicación.

Restauración de la aplicación eliminada

Nota

  • Restore-AzDeletedWebApp no se admite para las aplicaciones de funciones hospedadas en el plan Consumo o en el plan Elastic Premium.
  • El cmdlet Restore-AzDeletedWebApp restaura una aplicación web eliminada. La aplicación web especificada por TargetResourceGroupName, TargetName y TargetSlot se sobrescribirá con el contenido y la configuración de la aplicación web eliminada. Si no se especifican los parámetros de destino, se rellenarán automáticamente con el grupo de recursos, el nombre y la ranura de la aplicación web eliminada. Si la aplicación web de destino no existe, se creará automáticamente en el plan de App Service especificado por TargetAppServicePlanName.
  • De forma predeterminada Restore-AzDeletedWebApp restaurará también la configuración de la aplicación y todo el contenido. Si solo quiere restaurar el contenido, use la marca -RestoreContentOnly con este cmdlet.
  • Los dominios personalizados, los enlaces o los certificados que importe en la aplicación no se restaurarán. Deberá volver a agregarlos una vez restaurada la aplicación.

Después de identificar la aplicación que desea restaurar, puede restaurarla usando Restore-AzDeletedWebApp, como se muestra en los ejemplos siguientes.

Aquí puede encontrar la referencia completa del commandlet: Restore-AzDeletedWebApp.

Restauración al nombre de aplicación original:

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

Restauración a un nombre de aplicación diferente:

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

Restauración de una ranura en una aplicación de destino:

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

Nota

Las ranuras de implementación no se restauran como parte de la aplicación. Si necesita restaurar un espacio de ensayo, use la marca -Slot <slot-name>. El commandlet restaura la ranura original a la ranura de producción de la aplicación de destino. De forma predeterminada Restore-AzDeletedWebApp restaurará también la configuración de la aplicación y todo el contenido en una aplicación de destino. Si solo quiere restaurar el contenido, use la marca -RestoreContentOnly con este cmdlet.

Restauración solo del contenido del sitio en la aplicación de destino

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

Restauración que se usa con escenarios en los que se han eliminado varias aplicaciones con el mismo nombre 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>

Las entradas del comando son:

  • Grupo de recursos de destino: Grupo de recursos de destino donde se restaurará la aplicación
  • TargetName: aplicación de destino de la aplicación eliminada que se va a restaurar.
  • TargetAppServicePlanName: plan de App Service vinculado a la aplicación.
  • Name: nombre de la aplicación, debe ser globalmente único.
  • ResourceGroupName: grupo de recursos original de la aplicación eliminada
  • Slot: ranura de la aplicación eliminada
  • RestoreContentOnly: De manera predeterminada Restore-AzDeletedWebApp restaura tanto la configuración de la aplicación como cualquier contenido. Si solo quiere restaurar el contenido, use la marca -RestoreContentOnly con este commandlet.

Nota

Si la aplicación se hospedaba en una instancia de App Service Environment y después se eliminó de dicha instancia, solo se puede restaurar si la instancia de App Service Environment correspondiente sigue existiendo.

Restauración de la aplicación de funciones eliminada

Si la aplicación de funciones se hospeda en un plan de App Service dedicado, se puede restaurar, siempre que esté usando el almacenamiento predeterminado de App Service.

  1. Capture el DeletedSiteId de la versión de la aplicación que desea restaurar mediante el cmdlet Get-AzDeletedWebApp:
Get-AzDeletedWebApp -ResourceGroupName <RGofDeletedApp> -Name <NameofApp> 
  1. Cree una nueva aplicación de funciones en un plan dedicado. Consulte las instrucciones sobre cómo crear una aplicación en el portal.
  2. Restaure a la aplicación de funciones recién creada con este cmdlet:
Restore-AzDeletedWebApp -ResourceGroupName <RGofnewapp> -Name <newApp> -deletedId "/subscriptions/xxxx/providers/Microsoft.Web/locations/xxxx/deletedSites/xxxx"

Actualmente, no hay soporte para la aplicación de función Undelete (Restore-AzDeletedWebApp) que está hospedada en un plan de Consumo o en un plan Premium de Elastic, ya que el contenido reside en Azure Files en una cuenta de almacenamiento. Si no eliminó "hard" (duro) esa cuenta de almacenamiento de Azure Files, o si la cuenta existe y los recursos compartidos de archivos no se eliminaron, puede usar los pasos como solución alternativa:

  1. Cree una nueva aplicación de funciones en un plan Consumo o Premium. Consulte las instrucciones sobre Cómo crear una aplicación en el portal.

  2. Establezca la siguiente configuración de la aplicación para hacer referencia a la cuenta de almacenamiento anterior, que contiene el contenido de la aplicación anterior.

    Configuración de aplicación Valor sugerido
    AzureWebJobsStorage Cadena de conexión para la cuenta de almacenamiento utilizada por la aplicación eliminada.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Cadena de conexión para la cuenta de almacenamiento utilizada por la aplicación eliminada.
    WEBSITE_CONTENTSHARE Recurso compartido de archivos en la cuenta de almacenamiento usada por la aplicación eliminada.