Przywracanie usuniętej aplikacji usługi App Service przy użyciu programu PowerShell

Jeśli przypadkowo usunięto aplikację w usłudze aplikacja systemu Azure Service, możesz przywrócić ją przy użyciu poleceń z modułu Az programu PowerShell.

Uwaga

  • Usunięte aplikacje są czyszczone z systemu 30 dni po początkowym usunięciu. Po przeczyszczaniu aplikacji nie można jej odzyskać.
  • Funkcja cofania usunięcia nie jest obsługiwana w przypadku aplikacji funkcji hostowanych w planie Zużycie ani w ramach planu Elastic Premium.
  • Aplikacje usługi App Service działające w środowisku App Service Environment nie obsługują migawek. W związku z tym funkcje cofania i klonowania nie są obsługiwane w przypadku aplikacji usługi App Service działających w środowisku App Service Environment.

Ponowne rejestrowanie dostawcy zasobów usługi App Service

Niektórzy klienci mogą napotkać problem polegający na tym, że pobieranie listy usuniętych aplikacji kończy się niepowodzeniem. Aby rozwiązać ten problem, uruchom następujące polecenie:

 Register-AzResourceProvider -ProviderNamespace "Microsoft.Web"

Wyświetlanie listy usuniętych aplikacji

Aby pobrać kolekcję usuniętych aplikacji, możesz użyć polecenia Get-AzDeletedWebApp.

Aby uzyskać szczegółowe informacje na temat określonej usuniętej aplikacji, możesz użyć:

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

Szczegółowe informacje obejmują:

  • DeletedSiteId: unikatowy identyfikator aplikacji używany w scenariuszach, w których usunięto wiele aplikacji o tej samej nazwie
  • SubscriptionID: subskrypcja zawierająca usunięty zasób
  • Lokalizacja: lokalizacja oryginalnej aplikacji
  • ResourceGroupName: nazwa oryginalnej grupy zasobów
  • Nazwa: nazwa oryginalnej aplikacji.
  • Miejsce: nazwa miejsca.
  • Czas usunięcia: kiedy aplikacja została usunięta

Przywracanie usuniętej aplikacji

Uwaga

  • Restore-AzDeletedWebApp nie jest obsługiwana w przypadku aplikacji funkcji hostowanych w planie Zużycie ani w ramach planu Elastic Premium.
  • Polecenie cmdlet Restore-AzDeletedWebApp przywraca usuniętą aplikację internetową. Aplikacja internetowa określona przez targetResourceGroupName, TargetName i TargetSlot zostanie zastąpiona zawartością i ustawieniami usuniętej aplikacji internetowej. Jeśli nie określono parametrów docelowych, zostaną one automatycznie wypełnione usuniętą grupą zasobów, nazwą i miejscem usuniętej aplikacji internetowej. Jeśli docelowa aplikacja internetowa nie istnieje, zostanie ona automatycznie utworzona w planie usługi app service określonym przez targetAppServicePlanName.
  • Domyślnie Restore-AzDeletedWebApp przywraca zarówno konfigurację aplikacji, jak i dowolną zawartość. Jeśli chcesz przywrócić tylko zawartość, użyj flagi -RestoreContentOnly z tym poleceniem cmdletlet.
  • Domeny niestandardowe, powiązania lub certyfikaty importowane do aplikacji nie zostaną przywrócone. Po przywróceniu aplikacji należy je ponownie dodać.

Po zidentyfikowaniu aplikacji, którą chcesz przywrócić, możesz ją przywrócić przy użyciu metody Restore-AzDeletedWebApp, jak pokazano w poniższych przykładach.

Pełne odwołanie do poleceń można znaleźć tutaj: Restore-AzDeletedWebApp.

Przywróć oryginalną nazwę aplikacji:

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

Przywróć do innej nazwy aplikacji:

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

Przywracanie miejsca do aplikacji docelowej:

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

Uwaga

Miejsca wdrożenia nie są przywracane w ramach aplikacji. Jeśli musisz przywrócić miejsce przejściowe, użyj flagi -Slot <slot-name> . Polecenie cmdlet przywraca oryginalne miejsce do miejsca produkcyjnego aplikacji docelowej. Domyślnie Restore-AzDeletedWebApp przywraca zarówno konfigurację aplikacji, jak i dowolną zawartość do aplikacji docelowej. Jeśli chcesz przywrócić tylko zawartość, użyj flagi -RestoreContentOnly z tym poleceniem cmdletlet.

Przywracanie tylko zawartości witryny do aplikacji docelowej

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

Przywracanie używane w scenariuszach, w których wiele aplikacji o tej samej nazwie zostało usuniętych z -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>

Dane wejściowe dla polecenia to:

  • Docelowa grupa zasobów: docelowa grupa zasobów, w której ma zostać przywrócona aplikacja
  • TargetName: Docelowa aplikacja do przywrócenia usuniętej aplikacji
  • TargetAppServicePlanName: plan usługi App Service połączony z aplikacją
  • Nazwa: nazwa aplikacji powinna być globalnie unikatowa.
  • ResourceGroupName: oryginalna grupa zasobów dla usuniętej aplikacji
  • Miejsce: miejsce usuniętej aplikacji
  • RestoreContentOnly: domyślnie Restore-AzDeletedWebApp przywraca zarówno konfigurację aplikacji, jak i dowolną zawartość. Jeśli chcesz przywrócić tylko zawartość, możesz użyć flagi -RestoreContentOnly z tym poleceniem cmdletlet.

Uwaga

Jeśli aplikacja była hostowana, a następnie usunięta ze środowiska App Service Environment, można ją przywrócić tylko wtedy, gdy odpowiednie środowisko App Service Environment nadal istnieje.

Przywracanie usuniętej aplikacji funkcji

Jeśli aplikacja funkcji była hostowana w ramach dedykowanego planu usługi App Service, można ją przywrócić, o ile używała domyślnego magazynu usługi App Service.

  1. Pobierz identyfikator DeletedSiteId wersji aplikacji, którą chcesz przywrócić, przy użyciu polecenia cmdlet Get-AzDeletedWebApp:
Get-AzDeletedWebApp -ResourceGroupName <RGofDeletedApp> -Name <NameofApp> 
  1. Utwórz nową aplikację funkcji w planie dedykowanym. Zapoznaj się z instrukcjami dotyczącymi tworzenia aplikacji w portalu.
  2. Przywróć nowo utworzoną aplikację funkcji przy użyciu tego polecenia cmdlet:
Restore-AzDeletedWebApp -ResourceGroupName <RGofnewapp> -Name <newApp> -deletedId "/subscriptions/xxxx/providers/Microsoft.Web/locations/xxxx/deletedSites/xxxx"

Obecnie nie jest obsługiwana aplikacja funkcji Undelete (Restore-AzDeletedWebApp), która jest hostowana w planie zużycie lub w ramach planu Premium Elastic, ponieważ zawartość znajduje się w usłudze Azure Files na koncie usługi Storage. Jeśli konto usługi Azure Files nie zostało usunięte lub konto usługi Azure Files nie zostało usunięte, a udziały plików nie zostały usunięte, możesz użyć kroków jako obejścia:

  1. Utwórz nową aplikację funkcji w planie Zużycie lub Premium. Zapoznaj się z instrukcjami dotyczącymi tworzenia aplikacji w portalu.

  2. Ustaw następujące ustawienia aplikacji, aby odwoływać się do starego konta magazynu , które zawiera zawartość z poprzedniej aplikacji.

    Ustawienia aplikacji Sugerowana wartość
    AzureWebJobsStorage ciąg Połączenie ion dla konta magazynu używanego przez usuniętą aplikację.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING ciąg Połączenie ion dla konta magazynu używanego przez usuniętą aplikację.
    WEBSITE_CONTENTSHARE Udział plików na koncie magazynu używanym przez usuniętą aplikację.