Gelöschtes Objekt wiederherstellen

Stellen Sie ein gelöschtes Objekt in einem Object Storage-Bucket wieder her.

Wenn die Versionierung aktiviert ist und ein Objekt gelöscht wird, ohne eine bestimmte Version zu definieren, wird ein Löschmarker erstellt, und Sie können die vorherige Version des Objekts wiederherstellen. Ein gelöschtes Objekt wird nur in der Liste Objekte angezeigt, wenn das Feature Gelöschtes Objekt anzeigen ausgewählt ist. Alle aufgelisteten gelöschten Objekte weisen neben dem Objekteintragsnamen (Gelöschtes Objekt) auf. Blenden Sie die Versionsliste des gelöschten Objekts ein, und suchen Sie die Version mit (Marker löschen) daneben. Stellen Sie eine gelöschte Objektversion wieder her, indem Sie diesen Löschmarker entfernen. Wenn eine vorherige Version vorhanden ist, wird diese Version zum Liveobjekt.

Hinweis

Die Versionierung muss für einen Objektspeicher-Bucket zum Zeitpunkt des Uploads des Objekts aktiviert sein. Objekte, die aus einem Bucket mit deaktivierter oder unterbrochener Versionierung gelöscht wurden, können nicht wiederhergestellt werden.
    1. Wählen Sie auf der Listenseite Buckets den Objektspeicher-Bucket aus, mit dem Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder des Buckets benötigen, lesen Sie Buckets auflisten.
    2. Wählen Sie auf der Detailseite des Buckets Objekte aus.
      Die Registerkarte Objekte wird geöffnet. Alle Objekte im ausgewählten Bucket werden in einer Tabelle angezeigt.
    3. Klicken Sie im Menü Aktionen auf Gelöschte Objekte anzeigen.
      Alle gelöschten Objekte, einschließlich Ordner und Unterordner, werden angezeigt.
    4. Suchen Sie das Objekt, das Sie wiederherstellen möchten.
    5. Wählen Sie im Menü Aktionen (drei Punkte) des Objekts die Option Versionen anzeigen.
      Die Liste der Versionen des Objekts wird angezeigt. Die neueste Version wird oben in der Liste angezeigt und (Letzte Version) angezeigt.
    6. Wählen Sie im Menü Aktionen (drei Punkte) des Objekts Löschen aus.
    7. Bestätigen Sie nach entsprechender Aufforderung den Löschvorgang.
    Die Objektversion, die nach der Version aufgeführt wird, deren Löschmarker Sie entfernt haben, wird zum wiederhergestellten Objekt.
  • Um ein gelöschtes Objekt in einem Bucket mit der CLI wiederherzustellen, müssen Sie zuerst wissen, welches Objekt zum Löschen markiert ist. Um diese Informationen abzurufen, listen Sie die Objekte im Bucket auf. Siehe Objektversionen in einem Bucket auflisten, und wählen Sie die Registerkarte CLI aus, um den entsprechenden Befehl auszuführen.

    Suchen Sie in der Ausgabe die Objektversion mit "is-delete-marker": true.

    Verwenden Sie den Befehl oci os object delete und die erforderlichen Parameter, um ein gelöschtes Objekt in einem Bucket wiederherzustellen. Nehmen Sie den Parameter version-id und seinen Wert für dieses Objekt auf.

    oci os object delete --bucket-name bucket_name --object-name object_name --version-id version_id [OPTIONS]

    Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, den Löschvorgang zu bestätigen:

    Are you sure you want to delete this resource? [y/N]:

    Antworten Sie mit y.

    Beispiel:

    oci os object delete --bucket-name MyBucket --name MyFile.txt --version-id 2a0021a1-2a2f-41a0-a199-454003f84aa0
    Are you sure you want to delete this resource? [y/N]: y

    Der Löschmarker des Objekts wird gelöscht, ohne dass weitere Informationen zurückgegeben werden. Das Objekt wird in seinem Bucket wiederhergestellt. Sie können das Objekt auflisten, um zu prüfen, ob es wiederhergestellt wurde, nachdem Sie den Löschmarker entfernt haben.

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in der CLI-Befehlsreferenz.

    Gelöschtes Objekt im Massenverfahren wiederherstellen

    Um mehrere Objekte in einem Bucket gleichzeitig wiederherzustellen, fragen Sie mit den verfügbaren OCI-CLI-Filtern den Indikator "is-delete-marker": true ab. Weitere Informationen finden Sie unter "Verwenden von Abfragen" unter CLI-Eingabe und -Ausgabe verwalten.

    Beispiel: Um eine Gruppe gelöschter Objekte wiederherzustellen, führen Sie den folgenden Befehl aus, um eine Liste der Objekte mit dem Löschmarker und der Versions-ID jedes gelöschten Objekts abzurufen:

    oci os object list-object-versions --bucket-name MyBucket --query "data[?\"is-delete-marker\"].{Name:name,version:\"version-id\"}"|jq -r '.[]

    Als Nächstes übertragen Sie die Ausgabe per Pipe an einen anderen Befehl oder schreiben ein Wrapper-Skript, um die gelöschten Objekte im Bucket wiederherzustellen. Beispiel: Um alle Objekte in einem Bucket mit dem Löschmarker auf einem Linux-Host wiederherzustellen, führen Sie den folgenden Befehl aus:

    oci os object list-object-versions --bucket-name MyBucket --query "data[?\"is-delete-marker\"].{Name:name,version:\"version-id\"}"|jq -r '.[] | join(" ")'| xargs -n 2 sh -c 'oci os object delete --namespace MyNamespace --bucket-name MyBucket --object-name "$1" --version-id "$2"' argv0
    

    Mit dem Parameter --force können Sie den interaktiven Modus vermeiden. Verwenden Sie diese Option jedoch mit Vorsicht, um zu vermeiden, dass wichtige Informationen fehlen.

  • Verwenden Sie zunächst den Vorgang ListObjectVersions, um Objekte mit "is-delete-marker": true zu suchen. Verwenden Sie dann den Vorgang DeleteObject, um den Löschmarker aus einem Objekt zu entfernen.