Restaurar o aplicativo Serviço de Aplicativo excluído usando o PowerShell

Se excluir acidentalmente seu aplicativo no Serviço de Aplicativo do Azure, você poderá restaurá-lo usando os comandos do módulo Az PowerShell.

Observação

  • Os aplicativos excluídos são limpos do sistema 30 dias após a exclusão inicial. Depois que um aplicativo é limpo, não pode ser recuperado.
  • Não há suporte para a funcionalidade Restaurar para os aplicativos de funções hospedados no plano Consumo ou Elástico Premium.
  • Os aplicativos do Serviço de Aplicativos em execução em Ambiente do Serviço de Aplicativo não dão suporte a instantâneos. Portanto, as funcionalidades de desfazer exclusão e clonar não têm suporte para aplicativos do Serviço de Aplicativos em execução em um Ambiente do Serviço de Aplicativo.

Registrar novamente o provedor de recursos do Serviço de Aplicativo

Alguns clientes podem encontrar um problema em que não é possível recuperar a lista de aplicativos excluídos. Para resolver o problema, execute o seguinte comando:

 Register-AzResourceProvider -ProviderNamespace "Microsoft.Web"

Listar aplicativos excluídos

Para obter a coleção de aplicativos excluídos, você pode usar Get-AzDeletedWebApp.

Para mais informações sobre um aplicativo específico excluído, você pode usar:

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

As informações detalhadas incluem:

  • DeletedSiteId: Identificador exclusivo do aplicativo, usado em cenários em que vários aplicativos com o mesmo nome foram excluídos
  • SubscriptionID: Assinatura que contém o recurso excluído
  • Localização: Local do aplicativo original
  • ResourceGroupName: Nome do grupo de recursos original
  • Name: Nome do aplicativo original.
  • Slot: o nome do slot.
  • Hora da exclusão: Quando o aplicativo foi excluído

Restaurar aplicativo excluído

Observação

  • Não há suporte para Restore-AzDeletedWebApp para aplicativos de funções hospedados no plano Consumo ou Elástico Premium.
  • O cmdlet Restore-AzDeletedWebApp restaura um aplicativo Web excluído. O aplicativo Web especificado por TargetResourceGroupName, TargetName e TargetSlot será substituído com o conteúdo e as configurações do aplicativo Web excluído. Se os parâmetros de destino não forem especificados, eles serão preenchidos automaticamente com o grupo de recursos, o nome e o slot do aplicativo Web excluídos. Se o aplicativo Web de destino não existir, ele será criado automaticamente no plano do serviço de aplicativo especificado por TargetAppServicePlanName.
  • Por padrão, Restore-AzDeletedWebApp restaurará a configuração do seu aplicativo, bem como qualquer conteúdo. Se você quiser restaurar apenas o conteúdo, use o sinalizador -RestoreContentOnly com esse commandlet.
  • Domínios personalizados, associações ou certificados importados para seu aplicativo não serão restaurados. Você precisará adicioná-los novamente depois que o aplicativo for restaurado.

Depois de identificar o aplicativo que você deseja restaurar, você poderá restaurá-lo usando Restore-AzDeletedWebApp, conforme mostrado nos exemplos a seguir.

A referência completa do commandlet está aqui: Restore-AzDeletedWebApp.

Restaurar para o nome do aplicativo original:

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

Restaurar para um nome de aplicativo diferente:

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

Restaurar um slot para o aplicativo de destino:

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

Observação

Os slots de implantação não são restaurados como parte do seu aplicativo. Se você precisar restaurar um slot de preparo, use o sinalizador -Slot <slot-name>. O commandlet está restaurando o slot original para o slot de produção do aplicativo de destino. Por padrão, Restore-AzDeletedWebApp restaurará a configuração do seu aplicativo, bem como qualquer conteúdo para o aplicativo de destino. Se você quiser restaurar apenas o conteúdo, use o sinalizador -RestoreContentOnly com esse commandlet.

Restaurar somente o conteúdo do site para o aplicativo de destino

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

Restaurar é usado em cenários em que vários aplicativos com o mesmo nome foram excluídos com -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>

As entradas para o comando são:

  • Grupo de Recursos de Destino: grupo de recursos de destino em que o aplicativo será restaurado
  • TargetName: aplicativo de destino para o aplicativo excluído ser restaurado
  • TargetAppServicePlanName: Plano do Serviço de Aplicativo vinculado ao aplicativo
  • Name: O nome do aplicativo que deve ser globalmente exclusivo.
  • ResourceGroupName: grupo de recursos original para o aplicativo excluído
  • Slot: slot para o aplicativo excluído
  • RestoreContentOnly: por padrão, Restore-AzDeletedWebApp restaura a configuração do seu aplicativo, bem como qualquer conteúdo. Se você quiser restaurar apenas o conteúdo, poderá usar o sinalizador -RestoreContentOnly com esse commandlet.

Observação

Se o aplicativo foi hospedado em e, em seguida, excluído de um Ambiente do Serviço de Aplicativo, ele só poderá ser restaurado se o Ambiente do Serviço de Aplicativo correspondente ainda existir.

Restaurar aplicativo de funções excluído

Se o aplicativo de funções foi hospedado em um Plano de serviço de aplicativo dedicado, ele pode ser restaurado, desde que ele estivesse usando o armazenamento de Serviço de Aplicativo padrão.

  1. Busque o DeletedSiteId da versão do aplicativo que você deseja restaurar, usando o cmdlet Get-AzDeletedWebApp:
Get-AzDeletedWebApp -ResourceGroupName <RGofDeletedApp> -Name <NameofApp> 
  1. Criar um novo aplicativo de funções em um plano Dedicado. Consulte as instruções de como criar um aplicativo no portal.
  2. Restaure para o aplicativo de funções recém-criado usando este cmdlet:
Restore-AzDeletedWebApp -ResourceGroupName <RGofnewapp> -Name <newApp> -deletedId "/subscriptions/xxxx/providers/Microsoft.Web/locations/xxxx/deletedSites/xxxx"

Atualmente, não há suporte para o aplicativo de funções Restaurar (Restore-AzDeletedWebApp) hospedados em um plano Consumo ou Elástico Premium, pois o conteúdo reside em Arquivos do Azure em uma conta de armazenamento. Se você ainda não tiver excluído “permanentemente” a conta de armazenamento de Arquivos do Azure ou se a conta existir e os compartilhamentos de arquivo não tiverem sido excluídos, você poderá usar as etapas como solução alternativa:

  1. Criar um novo aplicativo de funções em um plano Consumo ou Premium. Consulte as instruções de como criar um aplicativo no portal.

  2. Defina as configurações de aplicativo a seguir para se referir à conta de armazenamento antiga, que contém o conteúdo do aplicativo anterior.

    Configurações de Aplicativo Valor sugerido
    AzureWebJobsStorage Cadeia de conexão para a conta de armazenamento usada pelo aplicativo excluído.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Cadeia de conexão para a conta de armazenamento usada pelo aplicativo excluído.
    WEBSITE_CONTENTSHARE Compartilhamento de arquivos na conta de armazenamento usada pelo aplicativo excluído.