Vorläufig gelöschte Objekte verwenden

Übersicht Einrichtung

Auf dieser Seite wird beschrieben, wie Sie vorläufig gelöschte Objekte auflisten, aufrufen und wiederherstellen.

Hinweise

Für die Aufgaben auf dieser Seite benötigen Sie die IAM-Rolle „Storage-Administrator“ (roles/storage.admin) für den Bucket oder das Projekt, das den Bucket enthält. Diese vordefinierte Rolle enthält die Berechtigungen, die zum Verwalten und Wiederherstellen des vorläufigen Löschens für einen Bucket erforderlich sind.

Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

  • storage.buckets.get
  • storage.buckets.update
  • storage.buckets.list
    • Diese Berechtigung ist erforderlich, wenn Sie die Google Cloud Console verwenden möchten, um die Anleitung auf dieser Seite auszuführen.
  • storage.objects.restore
  • storage.objects.create
  • storage.objects.delete
    • Diese Berechtigung ist erforderlich, wenn durch das Wiederherstellen eines Objekts ein vorhandenes Objekt überschrieben wird.
  • storage.buckets.restore
    • Diese Berechtigung ist erforderlich, wenn Sie die vorläufig gelöschten Objekte in einem Bucket im Bulk wiederherstellen möchten.
  • storage.bucketOperations.*
    • Diese Berechtigung ist für lang andauernde Vorgänge erforderlich.

Informationen zum Zuweisen von Rollen für Buckets finden Sie unter IAM mit Buckets verwenden. Informationen zum Zuweisen von Rollen für Projekte finden Sie unter Zugriff auf Projekte verwalten.

Alle vorläufig gelöschten Objekte in einem Bucket auflisten

Sie können alle vorläufig gelöschten Objekte in einem Bucket auflisten.

Console

  1. Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, für den Sie die vorläufig gelöschten Objekte aufrufen möchten. Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.

  3. Wählen Sie in der Liste Anzeigen die Option Nur vorläufig gelöschte Objekte aus. Eine Liste der vorläufig gelöschten Objekte wird angezeigt.

Befehlszeile

Wenn Sie eine Liste aller vorläufig gelöschten Objekte in einem Bucket aufrufen möchten, verwenden Sie den Befehl gcloud storage ls mit den Flags --soft-deleted und --recursive:

  gcloud storage ls gs://BUCKET_NAME --soft-deleted --recursive

Ersetzen Sie Folgendes:

  • BUCKET_NAME: der Name des Buckets. Beispiel: my-bucket

REST APIs

JSON API

  1. Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header Authorization zu generieren.

    Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header Authorization einfügen.

  2. MitcURL dieJSON-API mit einerAnfrage zum Auflisten von Objekten aufrufen, die den ?softDeleted-Abfrageparameter verwenden:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?softDeleted=true"

    Dabei ist BUCKET_NAME der Name des entsprechenden Buckets. Beispiel: my-bucket.

Alle vorläufig gelöschten Versionen eines Objekts ansehen

Sie können sich alle vorläufig gelöschten Versionen eines bestimmten Objekts in Ihrem Bucket ansehen.

Console

  1. Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der das Objekt enthält, für das Sie vorläufig gelöschte Versionen aufrufen möchten. Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.

  3. Klicken Sie auf das Objekt, von dem Sie alle vorläufig gelöschten Versionen aufrufen möchten. Die Seite Objektdetails wird angezeigt.

  4. Klicken Sie auf den Tab Versionsverlauf.

  5. Wählen Sie in der Liste Anzeigen die Option Nur vorläufig gelöschte Objekte aus. Eine Liste aller vorläufig gelöschten Versionen für dieses Objekt wird angezeigt.

Befehlszeile

Verwenden Sie den Befehl gcloud storage ls, um eine Liste aller vorläufig gelöschten Versionen eines Objekts in einem Bucket aufzurufen:

  gcloud storage ls gs://BUCKET_NAME/OBJECT_NAME --soft-deleted

Ersetzen Sie Folgendes:

  • BUCKET_NAME: der Name des Buckets. Beispiel: my-bucket
  • OBJECT_NAME: der Name des Objekts, dessen Versionen Sie aufrufen möchten.

REST APIs

JSON API

  1. Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header Authorization zu generieren.

    Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header Authorization einfügen.

  2. MitcURL dieJSON-API mit einerAnfrage zum Auflisten von Objekten aufrufen, die den ?softDeleted-Abfrageparameter verwenden:

    curl -X GET \
      -H "Authorization: Bearer OAUTH2_TOKEN" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?matchGlob=OBJECT_NAME&softDeleted=true"

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: der Name des Buckets. Beispiel: my-bucket
    • OBJECT_NAME: der Name des Objekts für das Sie alle Versionen abrufen möchten.

Vorläufig gelöschtes Objekt wiederherstellen

Sie können eine bestimmte Version eines vorläufig gelöschten Objekts in Ihrem Bucket wiederherstellen.

Console

  1. Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der die vorläufig gelöschten Objekte enthält, die Sie wiederherstellen möchten. Die Seite Bucket-Details wird geöffnet und der Tab Objekte ist ausgewählt.

  3. Wählen Sie in der Liste Anzeigen die Option Nur vorläufig gelöschte Objekte aus.

  4. Wechseln Sie zu dem Objekt. Dieses befindet sich möglicherweise in einem Ordner.

  5. Klicken Sie auf das vorläufig gelöschte Objekt. Die Seite Objektdetails wird angezeigt.

  6. Wählen Sie in der Liste Anzeigen die Option Nur vorläufig gelöschte Objekte aus. Eine Liste aller vorläufig gelöschten Versionen dieses Objekts wird angezeigt.

  7. Wenn Sie eine bestimmte vorläufig gelöschte Version eines Objekts wiederherstellen möchten, klicken Sie neben dieser Objektversion auf Wiederherstellen. Der Bereich der Objektwiederherstellung wird geöffnet.

  8. Klicken Sie auf Bestätigen.

Befehlszeile

Verwenden Sie den Befehl gcloud storage restore, um eine vorläufig gelöschte Version eines Objekts wiederherzustellen:

  gcloud storage restore gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER

Ersetzen Sie Folgendes:

  • BUCKET_NAME: der Name des Buckets. Beispiel: my-bucket
  • OBJECT_NAME: Name des Objekts, für das Sie alle Versionen aufrufen möchten.
  • GENERATION_NUMBER: die Generierungsnummer des vorläufig gelöschten Objekts, das Sie wiederherstellen möchten. Wenn Sie keine Generierungsnummer angeben, wird die neueste Version wiederhergestellt. Beispiel: 1560468815691234.

Weitere Optionen für die Wiederherstellung mehrerer Objekte im Bulk, einschließlich der Wiederherstellung aller Versionen eines Objekts mit dem Flag all-versions, finden Sie in der Referenz zu gcloud storage restore.

REST APIs

JSON API

  1. Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header Authorization zu generieren.

    Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header Authorization einfügen.

  2. Verwenden Sie cURL, um die JSON API mit einer POST-Objektanfrage aufzurufen:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/restore?generation=GENERATION_NUMBER"

    Wobei:

    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket.
    • OBJECT_NAME ist der Name des vorläufig gelöschten Objekts, das Sie wiederherstellen möchten. Beispiel: cat.jpeg.
    • GENERATION_NUMBER ist die Generierungsnummer des vorläufig gelöschten Objekts, das Sie wiederherstellen möchten. Wenn Sie keine Generierungsnummer angeben, wird die neueste Version wiederhergestellt. Beispiel: 1560468815691234

Vorläufig gelöschte Objekte in einem Bucket im Bulk wiederherstellen

Verwenden Sie einen Bulk-Wiederherstellungsvorgang, wenn Sie eine große Anzahl von Objekten wiederherstellen möchten oder die einzelnen Objekte, die Sie wiederherstellen möchten, nicht kennen. Beachten Sie, dass Bulk-Wiederherstellungsvorgänge asynchron erfolgen und in einigen Fällen eine Stunde oder länger dauern können.

Der Bulk-Wiederherstellungsvorgang initiiert einen lang andauernden Vorgang für einen Bucket. Mit der Google Cloud CLI können Sie Vorgänge mit langer Ausführungszeit abrufen und auflisten, um die Details und den Status des Bulk-Wiederherstellungsvorgangs anzuzeigen, während er ausgeführt wird.

Console

  1. Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.

    Buckets aufrufen

  2. Suchen Sie in der Liste der Buckets den Bucket mit den Objekten, die Sie wiederherstellen möchten.

  3. Klicken Sie auf das Dreipunkt-Menü () des Buckets und wählen Sie Wiederherstellungsjob erstellen aus.

    Der Bereich Job wiederhererstellen wird geöffnet.

  4. Wählen Sie im Abschnitt Auswählen, welche vorläufig gelöschten Objekte wiederhergestellt werden sollen den Löschzeitraum aus, aus dem Sie Objekte wiederherstellen möchten.

  5. (Optional) Wählen Sie Nach glob-Muster filtern aus und geben Sie ein Glob-Muster ein, um nur Objekte wiederherzustellen, die die Kriterien des Glob-Musters erfüllen.

  6. (Optional) Aktivieren Sie im Abschnitt Wiederherstellungsoptionen zusätzliche Wiederherstellungsverhaltensweisen.

  7. Klicken Sie auf Erstellen.

Sie können den Fortschritt Ihres Bulk-Wiederherstellungsvorgangs verfolgen. Klicken Sie dazu im Google Cloud Console-Header auf die Schaltfläche Benachrichtigungen ().

Befehlszeile

Wenn Sie mit der Bulk-Wiederherstellung alle Objekte in einem Bucket wiederherstellen möchten, verwenden Sie den Befehl gcloud storage restore.

Der folgende Befehl führt einen Bulk-Wiederherstellungsvorgang aus, um alle Objekte des Buckets, die während eines bestimmten Zeitraums gelöscht wurden, asynchron wiederherzustellen:

  gcloud storage restore gs://BUCKET_NAME/** \
      --async --deleted-after-time=DELETED_AFTER_TIME \
      --deleted-before-time=DELETED_BEFORE_TIME

Ersetzen Sie Folgendes:

  • BUCKET_NAME: der Name des Buckets. Beispiel: my-bucket
  • DELETED_AFTER_TIME: ein optionales Argument zur Angabe des Datums, nach dem die Objekte wiederhergestellt werden. Beispiel: 2022-12-01
  • DELETED_BEFORE_TIME: ein optionales Argument zur Angabe des Datums, vor dem die Objekte wiederhergestellt werden. Beispiel: 2022-12-21

    Bei Erfolg gibt der Befehl die ID des Vorgangs mit langer Ausführungszeit zurück, der dem Bulk-Wiederherstellungsvorgang zugeordnet ist. Sie können Details zum Vorgang mit langer Ausführungszeit abrufen oder den Vorgang mit langer Ausführungszeit abbrechen, um den Bulk-Wiederherstellungsvorgang zu beenden, bevor er abgeschlossen ist. Weitere Informationen finden Sie unter Vorgänge mit langer Laufzeit verwenden.

REST APIs

JSON API

  1. Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header Authorization zu generieren.

    Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header Authorization einfügen.

  2. Verwenden Sie cURL, um die JSON API mit einer POST-Objektanfrage aufzurufen:

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/bulkRestore"

    Dabei ist BUCKET_NAME der Name des entsprechenden Buckets. Beispiel: my-bucket.

Bei Erfolg gibt der Befehl die ID des Vorgangs mit langer Ausführungszeit zurück, der dem Bulk-Wiederherstellungsvorgang zugeordnet ist. Sie können Details zum Vorgang mit langer Ausführungszeit abrufen oder den Vorgang mit langer Ausführungszeit abbrechen, um den Bulk-Wiederherstellungsvorgang zu beenden, bevor er abgeschlossen ist. Weitere Informationen finden Sie unter Vorgänge mit langer Ausführungszeit verwenden.

Vorgänge mit langer Ausführungszeit für die Bulk-Wiederherstellung verwenden

Der Bulk-Wiederherstellungsvorgang initiiert einen Vorgang mit langer Ausführungszeit. Sie können Vorgänge mit langer Ausführungszeit abrufen und auflisten, um Details und Status eines Bulk-Wiederherstellungsvorgangs anzusehen oder einen Vorgang mit langer Ausführungszeit löschen, um eine Bulk-Wiederherstellung während der Ausführung abzubrechen.

Eine Anleitung zur Verwendung von Vorgängen mit langer Ausführungszeit, die durch Vorgänge in Cloud Storage initiiert wurden, darunter Bulk-Wiederherstellungsvorgänge, finden Sie unter Vorgänge mit langer Ausführungszeit verwenden.

Das folgende Beispiel zeigt einen Vorgang mit langer Ausführungszeit, der von einem Bulk-Wiederherstellungsvorgang zurückgegeben wird:

done: false
{
  "kind": "storage@operation",
  "name": "projects/_/buckets/my-bucket/operations/CiQyODRlMTY0My0wNGExLTQ3MWItOTE2Zi1hZmQ0ZmM4ZDc4MjQQAg",
  "metadata": {
    "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsMetadata",
    "commonMetadata": {
      "type": "bulk-restore-objects",
      "createTime": "2023-10-20T21:08:11.289Z",
      "updateTime": "2023-10-20T21:18:37.583Z",
      "endTime": "2023-10-20T21:18:37.583Z",
      "requestedCancellation": false,
      "progressPercent": -1,
    },
    "allow_overwrite": false,
    "matchGlobs": ["*"],
    "succeededCount": "0",
    "failedCount": "0",
    "skippedCount": "0",
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.storage.v2.BulkRestoreObjectsResponse"
  }
}

Neuversuche

Asynchrone APIs zum vorläufigen Löschen sind standardmäßig idempotent. Daher können Sie asynchrone API-Aufrufe zum vorläufen Löschen sicher wiederholen, ohne sich Gedanken über unbeabsichtigte Änderungen zu machen.

Nächste Schritte