Objektversionsverwaltung verwenden

Auf dieser Seite wird beschrieben, wie Sie die Objektversionsverwaltung einrichten. Anhand von Beispielen wird ihr Einsatz gezeigt. Eine Beschreibung dieser Funktion finden Sie im Kapitel Objektversionsverwaltung.

Objektversionsverwaltung einrichten

In den folgenden Abschnitten wird gezeigt, wie Sie die Objektversionsverwaltung mit dem gsutil-Tool, der JSON API und der XML API aktivieren bzw. deaktivieren. Über die Google Cloud Platform Console kann die Funktion derzeit nicht ausgeführt werden.

Objektversionsverwaltung aktivieren

So aktivieren Sie die Objektversionsverwaltung für einen Bucket:

gsutil

Verwenden Sie den Befehl gsutil versioning set on. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

gsutil versioning set on gs://[BUCKET_NAME]

REST APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Erstellen Sie eine .json-Datei, die die folgenden Informationen enthält:

    {
      "versioning": {
        "enabled": true
      }
    }
  3. Verwenden Sie cURL, um die JSON API mit einer PATCH-Bucket-Anfrage aufzurufen. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X PATCH --data-binary @[JSON_FILE_NAME].json \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -H "Content-Type: application/json" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=versioning"

XML API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Erstellen Sie eine .xml-Datei, die die folgenden Informationen enthält. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    <VersioningConfiguration>
      <Status>Enabled</Status>
    </VersioningConfiguration>
  3. Verwenden Sie cURL, um die XML API mit einer PUT-Bucket-Anfrage und dem Abfragestringparameter versioning aufzurufen. Ersetzen Sie [VALUES_IN_BRACKETS] dabei durch die entsprechenden Werte:

    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]?versioning"

Nach der Aktivierung der Objektversionsverwaltung erstellt Cloud Storage bei jedem Überschreiben oder Löschen der Liveversion des Objekts eine archivierte Objektversion.

Objektversionsverwaltung deaktivieren

So deaktivieren Sie die Objektversionsverwaltung für einen Bucket:

gsutil

Verwenden Sie den Befehl gsutil versioning set off. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

gsutil versioning set off gs://[BUCKET_NAME]

REST APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Erstellen Sie eine .json-Datei, die die folgenden Informationen enthält:

    {
      "versioning": {
        "enabled": false
      }
    }
  3. Verwenden Sie cURL, um die JSON API mit einer PATCH-Bucket-Anfrage aufzurufen. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X PATCH --data-binary @[JSON_FILE_NAME].json \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -H "Content-Type: application/json" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=versioning"

XML API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Erstellen Sie eine .xml-Datei, die die folgenden Informationen enthält. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    <VersioningConfiguration>
      <Status>Suspended</Status>
    </VersioningConfiguration>
  3. Verwenden Sie cURL, um die XML API mit einer PUT-Bucket-Anfrage und dem Abfragestringparameter versioning aufzurufen. Ersetzen Sie [VALUES_IN_BRACKETS] dabei durch die entsprechenden Werte:

    curl -X PUT --data-binary @[XML_FILE_NAME].xml \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]?versioning"

Prüfen, ob die Objektversionsverwaltung aktiviert ist

So prüfen Sie, ob die Objektversionsverwaltung für einen Bucket aktiviert ist:

gsutil

Verwenden Sie den Befehl gsutil versioning get. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

gsutil versioning get gs://[BUCKET_NAME]

Die Antwort sieht in etwa so aus, wenn die Objektversionsverwaltung aktiviert ist:

gs://[BUCKET_NAME]: Enabled

REST APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die JSON API mit einer GET-Bucket-Anfrage aufzurufen. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=versioning"

XML API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die XML API mit einer GET-Bucket-Anfrage und dem Abfragestringparameter versioning aufzurufen. Ersetzen Sie [VALUES_IN_BRACKETS] dabei durch die entsprechenden Werte:

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]?versioning"

Mit versionierten Objekten arbeiten

In den folgenden Abschnitten wird erklärt, wie Sie mit versionierten Objekten arbeiten. Für ein tief greifendes Beispiel zum Arbeiten mit Objektversionsverwaltungen siehe Objektversionsverwaltungsbeispiel.

Archivierte Objektversionen auflisten

So listen Sie Live- und archivierte Versionen eines Objekts mit den zugehörigen generation-Nummern auf:

gsutil

Verwenden Sie den Befehl gsutil ls -a. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

gsutil ls -a gs://[BUCKET_NAME]

Die Antwort sieht in etwa so aus:

gs://[BUCKET_NAME]/[OBJECT_NAME1]#[GENERATION_NUMBER1]
gs://[BUCKET_NAME]/[OBJECT_NAME1]#[GENERATION_NUMBER2]
gs://[BUCKET_NAME]/[OBJECT_NAME1]#[GENERATION_NUMBER3]
...

REST APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die JSON API mit einer LIST-Objektanfrage aufzurufen. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o?versions=true"

Archivierte Versionen von Objekten weisen das Attribut timeDeleted auf.

XML API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die XML API mit einer GET-Bucket-Anfrage und dem Abfragestringparameter versions aufzurufen. Ersetzen Sie [VALUES_IN_BRACKETS] dabei durch die entsprechenden Werte:

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]?versions"

Eine GET-Anfrage liefert unterschiedliche Ergebnisse, je nachdem, ob der Abfrageparameter versions verwendet wird oder nicht. Cloud Storage gibt die folgenden Informationen zurück, wenn Sie einen versions-Abfrageparameter in Ihre Anfrage einfügen:

  • Ein Version-Element mit Informationen zu dem jeweiligen Objekt.
  • Ein DeletedTime-Element, das die Zeit angibt, zu der das Objekt archiviert (gelöscht oder überschrieben) wurde.
  • Ein `IsLatest-Element, das angibt, ob das Objekt die neueste Version ist.
  • Ein NextGenerationMarker-Element wird zurückgegeben, wenn die Liste der Objekte nur einen Teil umfasst. Dies geschieht, wenn sich in einem Bucket viele Objektversionen befinden. Verwenden Sie den Wert dieses Elements im Abfrageparameter generationmarker nachfolgender Anfragen, um vom letzten Punkt aus fortzufahren. Der Abfrageparameter generationmarker wird genauso verwendet wie der Abfrageparameter marker, um in der Auflistung eines nicht versionierten Buckets zu suchen.

Auf archivierte Objektversionen zugreifen

So greifen Sie auf eine archivierte Version eines Objekts zu:

gsutil

  1. Hängen Sie die generation-Nummer des archivierten Objekts an den Objektnamen an und ersetzen Sie [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    [OBJECT_NAME]#[GENERATION_NUMBER]
  2. Fahren Sie mit dem String aus Schritt 1 wie bei einem Liveobjekt fort.

REST APIs

JSON API

  1. Hängen Sie die generation-Nummer des archivierten Objekts an den URI des Objekts an. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?generation=[GENERATION_NUMBER]
  2. Fahren Sie mit dem URI aus Schritt 1 wie bei einem Liveobjekt fort.

XML API

  1. Hängen Sie die generation-Nummer des archivierten Objekts an den URI des Objekts an. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]?generation=[GENERATION_NUMBER]
  2. Fahren Sie mit dem URI aus Schritt 1 wie bei einem Liveobjekt fort.

Archivierte Objektversionen kopieren

So kopieren Sie eine archivierte Version eines Objekts:

gsutil

Verwenden Sie den Befehl gsutil cp. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

gsutil cp gs://[SOURCE_BUCKET_NAME]/[SOURCE_OBJECT_NAME]#[GENERATION_NUMBER] gs://[DESTINATION_BUCKET_NAME]/[DESTINATION_OBJECT_NAME]

Wenn der Vorgang erfolgreich war, sieht die Antwort so aus:

Operation completed over 1 objects/58.8 KiB.

REST APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die JSON API mit einer POST-Objektanfrage aufzurufen. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X POST \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -H "Content-Length: 0" \
      "https://www.googleapis.com/upload/storage/v1/b/[SOURCE_BUCKET_NAME]/o/[SOURCE_OBJECT_NAME]/rewriteTo/b/[DESTINATION_BUCKET_NAME]/o/[NAME_OF_COPY]?sourceGeneration=[GENERATION_NUMBER]"

XML API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die XML API mit einer PUT-Objektanfrage aufzurufen. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X PUT \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -H "x-goog-copy-source: [SOURCE_BUCKET_NAME]/[SOURCE_OBJECT_NAME]" \
      -H "x-goog-copy-source-generation:[GENERATION_NUMBER]" \
      "https://storage.googleapis.com/[DESTINATION_BUCKET_NAME]/[NAME_OF_COPY]"

Archivierte Objektversionen löschen

So löschen Sie eine archivierte Version eines Objekts:

gsutil

Verwenden Sie den Befehl gsutil rm. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

gsutil rm gs://[BUCKET_NAME]/[OBJECT_NAME]#[GENERATION_NUMBER]

Wenn der Vorgang erfolgreich war, sieht die Antwort so aus:

Operation completed over 1 objects.

REST APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die JSON API mit einer DELETE-Objektanfrage aufzurufen. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X DELETE \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?generation=[GENERATION_NUMBER]"

XML API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die XML API mit einer DELETE-Objektanfrage aufzurufen. Ersetzen Sie dabei [VALUES_IN_BRACKETS] durch die entsprechenden Werte:

    curl -X DELETE \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      "https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]?generation=[GENERATION_NUMBER]"
Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...