Wiederherstellen einer gelöschten App Service-App mithilfe von PowerShell

Wenn Sie Ihre App versehentlich in Azure App Service gelöscht haben, können Sie sie mithilfe der Befehle im Azure PowerShell-Modul wiederherstellen.

Hinweis

  • Gelöschte Apps werden 30 Tage nach dem ersten Löschvorgang aus dem System gelöscht. Wenn eine App endgültig gelöscht wurde, kann sie nicht wiederhergestellt werden.
  • Die Wiederherstellen-Funktion wird für Funktions-Apps, die im Verbrauchsplan oder Elastic Premium-Plan gehostet werden, nicht unterstützt.
  • App Service-Apps, die in einer App Service-Umgebung ausgeführt werden, unterstützen keine Momentaufnahmen. Daher werden die Wiederherstellungs- und die Klonfunktion für App Service-Apps, die in einer App Service-Umgebung ausgeführt werden, nicht unterstützt.

Erneutes Registrieren eines App Service-Ressourcenanbieters

Einige Kunden stoßen möglicherweise auf ein Problem, bei dem das Abrufen der Liste gelöschter Apps fehlschlägt. Führen Sie zum Beheben dieses Problems den folgenden Befehl aus:

 Register-AzResourceProvider -ProviderNamespace "Microsoft.Web"

Auflisten gelöschter Apps

Zum Aufrufen der Auflistung gelöschter Apps können Sie Get-AzDeletedWebApp verwenden.

Für Details zu einer bestimmten gelöschten App können Sie Folgendes verwenden:

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

Die ausführlichen Informationen enthalten folgende Angaben:

  • DeletedSiteId: Eindeutiger Bezeichner für die App, der für Szenarien verwendet wird, in denen mehrere Apps mit gleichem Namen gelöscht wurden
  • SubscriptionID: Abonnement, das die gelöschte Ressource enthält
  • Standort: Speicherort der ursprünglichen App
  • ResourceGroupName: Name der ursprünglichen Ressourcengruppe
  • Name: Name der ursprünglichen App
  • Slot: Name des Slots
  • DeletionTime: Zeitpunkt, an dem die App gelöscht wurde

Wiederherstellen einer gelöschten App

Hinweis

  • Restore-AzDeletedWebApp wird für Funktions-Apps, die im Verbrauchsplan oder Elastic Premium-Plan gehostet werden, nicht unterstützt.
  • Das Cmdlet „Restore-AzDeletedWebApp“ stellt eine gelöschte Web-App wieder her. Die durch „TargetResourceGroupName“, „TargetName“ und „TargetSlot“ angegebene Web-App wird mit dem Inhalt und den Einstellungen der gelöschten Web-App überschrieben. Wenn die Zielparameter nicht angegeben werden, werden sie automatisch mit der Ressourcengruppe, dem Namen und dem Slot der gelöschten Web-App gefüllt. Wenn die Ziel-Web-App nicht vorhanden ist, wird sie automatisch in dem von „TargetAppServicePlanName“ angegebenen App Service-Plan erstellt.
  • Standardmäßig wird von Restore-AzDeletedWebApp sowohl die Konfiguration der App als auch beliebiger Inhalt wiederhergestellt. Wenn lediglich der Inhalt wiederhergestellt werden soll, verwenden Sie das Flag -RestoreContentOnly mit diesem Cmdlet.
  • Benutzerdefinierte Domänen, Bindungen oder Zertifikate, die Sie in Ihre App importieren, werden nicht wiederhergestellt. Sie müssen sie nach dem Wiederherstellen der App erneut hinzufügen.

Nachdem Sie die App identifiziert haben, die Sie wiederherstellen möchten, können Sie sie wie in dem folgenden Beispiel gezeigt mithilfe von Restore-AzDeletedWebApp wiederherstellen.

Die vollständige Cmdlet-Referenz finden Sie hier: Restore-AzDeletedWebApp.

Wiederherstellen unter dem ursprünglichen App-Namen:

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

Wiederherstellen unter einem anderen App-Namen:

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

Wiederherstellen eines Slots in der Ziel-App:

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

Hinweis

Bereitstellungsslots werden nicht als Teil Ihrer App wiederhergestellt. Wenn Sie einen Stagingslot wiederherstellen müssen, verwenden Sie das Flag -Slot <slot-name>. Das Cmdlet stellt den ursprünglichen Slot als Produktionsslot der Ziel-App wieder her. Standardmäßig wird von Restore-AzDeletedWebApp sowohl die Konfiguration der App als auch beliebiger Inhalt in der Ziel-App wiederhergestellt. Wenn lediglich der Inhalt wiederhergestellt werden soll, verwenden Sie das Flag -RestoreContentOnly mit diesem Cmdlet.

Wiederherstellen nur von Websiteinhalten in der Ziel-App

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

Wiederherstellung für Szenarien, in denen mehrere Apps mit gleichem Namen mit -DeletedSiteId gelöscht wurden

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>

Eingaben für den Befehl:

  • Zielressourcengruppe: Zielressourcengruppe, in der die App wiederhergestellt wird
  • TargetName: Ziel-App, in der die gelöschte App wiederhergestellt werden soll
  • TargetAppServicePlanName: App Service-Plan, der mit der App verknüpft ist
  • Name: Name für die App, muss global eindeutig sein
  • ResourceGroupName: Ursprüngliche Ressourcengruppe für die gelöschte App
  • Slot: Slot für die gelöschte App
  • RestoreContentOnly: Standardmäßig stellt Restore-AzDeletedWebApp sowohl die Konfiguration der App als auch der gesamte Inhalt wieder her. Wenn lediglich der Inhalt wiederhergestellt werden soll, können Sie das Flag -RestoreContentOnly mit diesem Cmdlet verwenden.

Hinweis

Falls die App in einer App Service-Umgebung gehostet und anschließend daraus gelöscht wurde, kann sie nur wiederhergestellt werden, wenn die entsprechende App Service-Umgebung noch vorhanden ist.

Wiederherstellen einer gelöschten Funktions-App

Wenn die Funktions-App in einem Dedicated App Service-Plan gehostet wurde, kann sie wiederhergestellt werden, solange sie den App Service-Speicher verwendet hat.

  1. Rufen Sie die DeletedSiteId der wiederherzustellenden App-Version mit dem Cmdlet „Get-AzDeletedWebApp“ ab:
Get-AzDeletedWebApp -ResourceGroupName <RGofDeletedApp> -Name <NameofApp> 
  1. Erstellen Sie eine neue Funktions-App in einem Dedicated-Plan. Eine Anleitung finden Sie unter Erstellen einer App im Portal.
  2. Stellen Sie die neu erstellte Funktions-App mithilfe dieses Cmdlets wieder her:
Restore-AzDeletedWebApp -ResourceGroupName <RGofnewapp> -Name <newApp> -deletedId "/subscriptions/xxxx/providers/Microsoft.Web/locations/xxxx/deletedSites/xxxx"

Derzeit gibt es keine Unterstützung für die Funktions-App „Wiederherstellen“ (Restore-AzDeletedWebApp), die in einem Verbrauchsplan oder einem Elastic Premium-Plan gehostet wird, da sich der Inhalt auf Azure Files in einem Speicherkonto befindet. Wenn Sie das Azure Files-Speicherkonto noch nicht „hart“ gelöscht haben oder wenn das Konto vorhanden ist und Dateifreigaben nicht gelöscht wurden, können Sie die folgenden Schritte zur Problemumgehung ausführen:

  1. Erstellen Sie eine neue Funktions-App in einem Verbrauchsplan oder einem Premium-Plan. Eine Anleitung finden Sie unter Erstellen einer App im Portal.

  2. Legen Sie die folgenden App-Einstellungen fest, um auf das alte Speicherkonto, das den Inhalt der vorherigen App enthält, zu verweisen.

    App-Einstellung Vorgeschlagener Wert
    AzureWebJobsStorage Verbindungszeichenfolge für das Speicherkonto, das von der gelöschten App verwendet wird.
    WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Verbindungszeichenfolge für das Speicherkonto, das von der gelöschten App verwendet wird.
    WEBSITE_CONTENTSHARE Dateifreigabe im Speicherkonto, das von der gelöschten App verwendet wird.