Поделиться через


Восстановление удаленного приложения службы приложений

Если вы случайно удалили приложение в Службе приложений Azure, теперь его можно восстановить с помощью портала Azure или PowerShell.

Восстановление удаленного приложения службы приложений с помощью портала

Если вы удалили приложение в Службе приложений Azure, теперь его можно восстановить на портале, выполнив следующие действия.

  1. Перейдите к службам приложений на портале.
  2. Щелкните "Управление удаленными приложениями".
  3. Выберите подписку.
  4. В раскрывающемся списке выберите удаленное приложение. Приложения, удаленные за последние 30 дней, будут отображаться в раскрывающемся списке.
  5. Выберите целевое приложение из раскрывающегося списка, где вы хотите восстановить приложение.
  6. Если вы хотите восстановить удаленное приложение в слот приложения назначения, отметьте соответствующий флажок и выберите доступные слоты из раскрывающегося списка.
  7. По умолчанию восстанавливается только содержимое приложения. Если вы хотите, чтобы конфигурация приложения также была восстановлена, проверьте конфигурацию приложения восстановления.

Восстановление удаленного приложения службы приложений с помощью PowerShell

Если вы удалили приложение в Службе приложений Azure, его можно восстановить с помощью команд из модуля Az PowerShell.

Примечание.

  • Удаленные приложения очищаются из системы через 30 дней после первоначального удаления. После очистки приложение невозможно восстановить.
  • Функциональность восстановления не поддерживается для функциональных приложений, размещенных на тарифном плане Consumption или тарифном плане Elastic Premium.

Повторная регистрация поставщика ресурсов Службы приложений

Некоторые клиенты могут столкнуться с проблемой, при которой не удается получить список удаленных приложений. Устранить эту проблему можно, выполнив следующую команду.

 Register-AzResourceProvider -ProviderNamespace "Microsoft.Web"

Список удаленных приложений

Чтобы получить коллекцию удаленных приложений, можно использовать Get-AzDeletedWebApp.

Дополнительные сведения о конкретном удаленном приложении можно получить следующим образом.

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

Подробные сведения включают в себя следующее.

  • DeletedSiteId: уникальный идентификатор приложения, используемый для сценариев, в которых было удалено несколько приложений с одинаковым именем.
  • SubscriptionID: подписка, содержащая удаленный ресурс
  • Расположение: расположение исходного приложения
  • ResourceGroupName: имя исходной группы ресурсов
  • Имя: имя исходного приложения.
  • Slot: имя слота.
  • Время удаления: когда приложение было удалено

Восстановление удаленного приложения

Примечание.

  • Restore-AzDeletedWebApp не поддерживается для функциональных приложений, размещенных на тарифном плане Consumption или Elastic Premium.
  • Командлет Restore-AzDeletedWebApp восстанавливает удаленное веб-приложение. Веб-приложение, указанное TargetResourceGroupName, TargetName и TargetSlot, будет перезаписано содержимым и параметрами удаленного веб-приложения. Если целевые параметры не указаны, они автоматически заполняются группой ресурсов удаленного веб-приложения, именем и слотом. Если целевое веб-приложение не существует, оно будет автоматически создано в плане службы приложений, указанном TargetAppServicePlanName.
  • По умолчанию Restore-AzDeletedWebApp восстановит как конфигурацию приложения, так и содержимое. Если вы хотите восстановить только содержимое, используйте флажок -RestoreContentOnly с этим командлетом.
  • Пользовательские домены, привязки или сертификаты, импортируемые в приложение, не будут восстановлены. Вам потребуется повторно добавить их после восстановления приложения.

После идентификации приложения, которое вы хотите восстановить, его можно восстановить с помощью Restore-AzDeletedWebApp, как показано в следующих примерах.

Полный справочник по командлету см. здесь: Restore-AzDeletedWebApp.

Восстановите исходное имя приложения:

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

Восстановление до другого имени приложения:

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

Восстановить слот в целевом приложении:

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

Примечание.

Слоты развертывания не восстанавливаются вместе с приложением. Если вам необходимо восстановить промежуточный слот, используйте флаг -Slot <slot-name>. Командлет восстанавливает исходный слот в рабочем слоте целевого приложения. По умолчанию Restore-AzDeletedWebApp восстановит как конфигурацию вашего приложения, так и содержимое в целевом приложении. Если вы хотите восстановить только содержимое, используйте флажок -RestoreContentOnly с этим командлетом.

Восстановление только содержимого сайта в целевом приложении

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

Восстановление используется в сценариях, когда удалено несколько приложений с одинаковым именем с помощью -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>

Входные данные для команды

  • Целевая группа ресурсов: целевая группа ресурсов, в которой нужно восстановить приложение
  • TargetName: целевое приложение для восстановления удаленного приложения
  • TargetAppServicePlanName: план службы приложений, связанный с приложением
  • Имя: имя приложения должно быть глобально уникальным.
  • ResourceGroupName: исходная группа ресурсов для удаленного приложения, вы можете получить ее из Get-AzDeletedWebApp -Name <your_deleted_app -Location >your_deleted_app_location<>
  • Слот: слот для удаленного приложения
  • RestoreContentOnly: по умолчанию восстанавливает конфигурацию Restore-AzDeletedWebApp приложения, а также любое содержимое. Если вы хотите восстановить только содержимое, можно использовать -RestoreContentOnly флаг с этим командлетом.

Примечание.

Если приложение было размещено в среде службы приложений, а затем удалено из нее, его можно восстановить только тогда, когда соответствующая среда службы приложений еще существует.

Восстановление удаленного приложения-функции

Если функциональное приложение размещено на выделенном плане служб приложений, его можно восстановить, если оно использовало хранилище по умолчанию службы приложений.

  1. Получите идентификатор DeletedSiteId версии приложения, которую вы хотите восстановить, с помощью командлета Get-AzDeletedWebApp:
Get-AzDeletedWebApp -ResourceGroupName <RGofDeletedApp> -Name <NameofApp> 
  1. Создайте новое функциональное приложение в выделенной планировке. Ознакомьтесь с инструкциями по созданию приложения на портале.
  2. Восстановите новое приложение функций с помощью этого командлета.
Restore-AzDeletedWebApp -ResourceGroupName <RGofnewapp> -Name <newApp> -deletedId "/subscriptions/xxxx/providers/Microsoft.Web/locations/xxxx/deletedSites/xxxx"

В настоящее время нет поддержки приложения-функции Undelete (Restore-AzDeletedWebApp), размещенного в Consumption план или Elastic Premium план, так как содержимое находится на Azure Files в учетной записи Storage. Если вы еще не удалили эту учетную запись хранения Azure Files или если учетная запись существует и общие папки не были удалены, следующие шаги можно использовать в качестве обходного решения.

  1. Создайте приложение-функцию в плане потребления или уровня "Премиум". Ознакомьтесь с инструкциями по созданию приложения на портале.

  2. Задайте следующие параметры приложения, чтобы ссылаться на старую учетную запись хранения, содержащую содержимое из предыдущего приложения.

    Настройки приложения Предлагаемое значение
    AzureWebJobsStorage Строка подключения для учетной записи хранения, используемой удаленным приложением.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Строка подключения для учетной записи хранения, используемой удаленным приложением.
    WEBSITE_CONTENTSHARE Файловый ресурс в учетной записи хранения, используемый удаленным приложением.