Objektlebenszyklen verwalten

Zu den Konzepten

Auf dieser Seite wird beschrieben, wie Sie die Verwaltung des Objektlebenszyklus aktivieren. Außerdem erhalten Sie Beispiele von Lebenszyklusrichtlinien.

Lebenszyklusmanagement für einen Bucket einrichten

Lebenszyklusverwaltung aktivieren

So aktivieren Sie die Lebenszyklusverwaltung für einen Bucket:

Console

  1. Öffnen Sie den Cloud Storage-Browser in der Google Cloud Console.
    Zum Cloud Storage-Browser
  2. Klicken Sie in der Bucket-Liste auf den Bucket-Namen, den Sie aktivieren möchten.

  3. Klicken Sie auf den Tab Lebenszyklus.

    Die Seite "Lebenszyklusregeln" wird geöffnet.

  4. Klicken Sie auf Regel hinzufügen.

  5. Geben Sie auf der Seite, die jetzt geöffnet wird, eine Konfiguration ein.

    1. Wählen Sie die Aktion aus, die ausgeführt werden soll, wenn ein Objekt die Bedingungen erfüllt.

    2. Klicken Sie auf Weiter.

    3. Wählen Sie die Bedingungen zum Ausführen einer Aktion aus.

    4. Klicken Sie auf Weiter.

    5. Klicken Sie auf Erstellen.

Unter Fehlerbehebung erfahren Sie, wie Sie im Cloud Storage-Browser detaillierte Fehlerinformationen zu fehlgeschlagenen Vorgängen abrufen.

gsutil

  1. Erstellen Sie eine .json-Datei mit den Lebenszyklus-Konfigurationsregeln, die Sie anwenden möchten. In den Konfigurationsbeispielen finden Sie .json-Beispieldateien.

  2. Verwenden Sie den Befehl lifecycle set, um die Konfiguration anzuwenden:

    gsutil lifecycle set LIFECYCLE_CONFIG_FILE gs://BUCKET_NAME

    Dabei gilt:

    • LIFECYCLE_CONFIG_FILE ist der Name der Datei, die Sie in Schritt 1 erstellt haben.
    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket

Codebeispiele

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

namespace gcs = google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name) {
  gcs::BucketLifecycle bucket_lifecycle_rules = gcs::BucketLifecycle{
      {gcs::LifecycleRule(gcs::LifecycleRule::ConditionConjunction(
                              gcs::LifecycleRule::MaxAge(30),
                              gcs::LifecycleRule::IsLive(true)),
                          gcs::LifecycleRule::Delete())}};

  StatusOr<gcs::BucketMetadata> updated_metadata = client.PatchBucket(
      bucket_name,
      gcs::BucketMetadataPatchBuilder().SetLifecycle(bucket_lifecycle_rules));

  if (!updated_metadata) {
    throw std::runtime_error(updated_metadata.status().message());
  }

  if (!updated_metadata->has_lifecycle() ||
      updated_metadata->lifecycle().rule.empty()) {
    std::cout << "Bucket lifecycle management is not enabled for bucket "
              << updated_metadata->name() << ".\n";
    return;
  }
  std::cout << "Successfully enabled bucket lifecycle management for bucket "
            << updated_metadata->name() << ".\n";
  std::cout << "The bucket lifecycle rules are";
  for (auto const& kv : updated_metadata->lifecycle().rule) {
    std::cout << "\n " << kv.condition() << ", " << kv.action();
  }
  std::cout << "\n";
}

Go

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/storage"
)

// enableBucketLifecycleManagement adds a lifecycle delete rule with the
// condition that the object is 100 days old.
func enableBucketLifecycleManagement(w io.Writer, bucketName string) error {
	// bucketName := "bucket-name"
	ctx := context.Background()
	client, err := storage.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("storage.NewClient: %v", err)
	}
	defer client.Close()

	ctx, cancel := context.WithTimeout(ctx, time.Second*10)
	defer cancel()

	bucket := client.Bucket(bucketName)
	bucketAttrsToUpdate := storage.BucketAttrsToUpdate{
		Lifecycle: &storage.Lifecycle{
			Rules: []storage.LifecycleRule{
				{
					Action: storage.LifecycleAction{Type: "Delete"},
					Condition: storage.LifecycleCondition{
						AgeInDays: 100,
					},
				},
			},
		},
	}

	attrs, err := bucket.Update(ctx, bucketAttrsToUpdate)
	if err != nil {
		return fmt.Errorf("Bucket(%q).Update: %v", bucketName, err)
	}
	fmt.Fprintf(w, "Lifecycle management is enabled for bucket %v\n and the rules are:\n", bucketName)
	for _, rule := range attrs.Lifecycle.Rules {
		fmt.Fprintf(w, "Action: %v\n", rule.Action)
		fmt.Fprintf(w, "Condition: %v\n", rule.Condition)
	}

	return nil
}

Java

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

import com.google.cloud.storage.Bucket;
import com.google.cloud.storage.BucketInfo.LifecycleRule;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;
import com.google.common.collect.ImmutableList;

public class EnableLifecycleManagement {
  public static void enableLifecycleManagement(String projectId, String bucketName) {
    // The ID of your GCP project
    // String projectId = "your-project-id";

    // The ID of your GCS bucket
    // String bucketName = "your-unique-bucket-name";

    Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
    Bucket bucket = storage.get(bucketName);

    // See the LifecycleRule documentation for additional info on what you can do with lifecycle
    // management rules. This one deletes objects that are over 100 days old.
    // https://googleapis.dev/java/google-cloud-clients/latest/com/google/cloud/storage/BucketInfo.LifecycleRule.html
    bucket
        .toBuilder()
        .setLifecycleRules(
            ImmutableList.of(
                new LifecycleRule(
                    LifecycleRule.LifecycleAction.newDeleteAction(),
                    LifecycleRule.LifecycleCondition.newBuilder().setAge(100).build())))
        .build()
        .update();

    System.out.println("Lifecycle management was enabled and configured for bucket " + bucketName);
  }
}

Node.js

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

async function enableBucketLifecycleManagement() {
  const [metadata] = await storage.bucket(bucketName).addLifecycleRule({
    action: 'delete',
    condition: {age: 100},
  });

  console.log(
    `Lifecycle management is enabled for bucket ${bucketName} and the rules are:`
  );

  console.log(metadata.lifecycle.rule);
}

enableBucketLifecycleManagement().catch(console.error);

PHP

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.

use Google\Cloud\Storage\StorageClient;
use Google\Cloud\Storage\Bucket;

/**
 * Enable bucket lifecycle management.
 *
 * @param string $bucketName the name of your Cloud Storage bucket.
 */
function enable_bucket_lifecycle_management($bucketName)
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);

    $lifecycle = Bucket::lifecycle()
        ->addDeleteRule([
            'age' => 100
        ]);

    $bucket->update([
        'lifecycle' => $lifecycle
    ]);

    $lifecycle = $bucket->currentLifecycle();

    printf('Lifecycle management is enabled for bucket %s and the rules are:' . PHP_EOL, $bucketName);
    foreach ($lifecycle as $rule) {
        print_r($rule);
        print(PHP_EOL);
    }
}

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.

from google.cloud import storage

def enable_bucket_lifecycle_management(bucket_name):
    """Enable lifecycle management for a bucket"""
    # bucket_name = "my-bucket"

    storage_client = storage.Client()

    bucket = storage_client.get_bucket(bucket_name)
    rules = bucket.lifecycle_rules

    print("Lifecycle management rules for bucket {} are {}".format(bucket_name, list(rules)))
    bucket.add_lifecycle_delete_rule(age=2)
    bucket.patch()

    rules = bucket.lifecycle_rules
    print("Lifecycle management is enable for bucket {} and the rules are {}".format(bucket_name, list(rules)))

    return bucket

Ruby

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.

# Enable lifecycle management for a bucket
# bucket_name = "Your Google Cloud Storage bucket name"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new
bucket = storage.bucket bucket_name

rules = bucket.lifecycle do |l|
  l.add_delete_rule age: 2
end

puts "Lifecycle management is enabled for bucket #{bucket_name} and the rules are #{rules}"

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 mit den Lebenszyklus-Konfigurationsregeln, die Sie anwenden möchten. In den Konfigurationsbeispielen finden Sie .json-Beispieldateien.

  3. Verwenden Sie cURL, um die JSON API mit einer PATCH-Bucket-Anfrage aufzurufen:

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

    Dabei gilt:

    • LIFECYCLE_CONFIG_FILE ist der Name der Datei, die Sie in Schritt 2 erstellt haben.
    • OAUTH2_TOKEN ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket

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 mit den Lebenszyklus-Konfigurationsregeln, die Sie anwenden möchten. In den Konfigurationsbeispielen finden Sie .xml-Beispieldateien.

  3. Verwenden Sie cURL, um die XML API mit einer PUT-Bucket-Anfrage aufzurufen:

    curl -X PUT --data-binary @XML_FILE.xml \
      -H "Authorization: Bearer OAUTH2_TOKEN" \
      "https://storage.googleapis.com/BUCKET_NAME?lifecycle"

    Dabei gilt:

    • XML_FILE ist der Name der Datei, die Sie in Schritt 2 erstellt haben.
    • OAUTH2_TOKEN ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket

Lebenszyklusverwaltung deaktivieren

So deaktivieren Sie die Lebenszyklusverwaltung für einen Bucket:

Console

  1. Öffnen Sie den Cloud Storage-Browser in der Google Cloud Console.
    Zum Cloud Storage-Browser
  2. Wählen Sie in der Bucket-Liste den zu deaktivierenden Bucket aus und klicken Sie auf den Eintrag in der Spalte Lebenszyklusregeln.

    Die Seite "Lebenszyklusregeln" wird geöffnet.

  3. Klicken Sie auf Alle löschen.

  4. Klicken Sie im angezeigten Bestätigungsfenster auf Bestätigen.

Unter Fehlerbehebung erfahren Sie, wie Sie im Cloud Storage-Browser detaillierte Fehlerinformationen zu fehlgeschlagenen Vorgängen abrufen.

gsutil

  1. Erstellen Sie eine .json-Datei mit einer leeren Lebenszykluskonfiguration:

    {
      "lifecycle": {
        "rule": []
      }
    }
  2. Führen Sie folgenden lifecycle set-Befehl aus:

    gsutil lifecycle set LIFECYCLE_CONFIG_FILE gs://BUCKET_NAME

    Dabei gilt:

    • LIFECYCLE_CONFIG_FILE ist der Name der Datei, die Sie in Schritt 1 erstellt haben.
    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket

Codebeispiele

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

namespace gcs = google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name) {
  StatusOr<gcs::BucketMetadata> updated_metadata = client.PatchBucket(
      bucket_name, gcs::BucketMetadataPatchBuilder().ResetLifecycle());

  if (!updated_metadata) {
    throw std::runtime_error(updated_metadata.status().message());
  }

  std::cout << "Successfully disabled bucket lifecycle management for bucket "
            << updated_metadata->name() << ".\n";
}

Go

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/storage"
)

// disableBucketLifecycleManagement removes all existing lifecycle rules
// from the bucket.
func disableBucketLifecycleManagement(w io.Writer, bucketName string) error {
	// bucketName := "bucket-name"
	ctx := context.Background()
	client, err := storage.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("storage.NewClient: %v", err)
	}
	defer client.Close()

	ctx, cancel := context.WithTimeout(ctx, time.Second*10)
	defer cancel()

	bucket := client.Bucket(bucketName)
	bucketAttrsToUpdate := storage.BucketAttrsToUpdate{
		Lifecycle: &storage.Lifecycle{},
	}

	_, err = bucket.Update(ctx, bucketAttrsToUpdate)
	if err != nil {
		return fmt.Errorf("Bucket(%q).Update: %v", bucketName, err)
	}
	fmt.Fprintf(w, "Lifecycle management is disabled for bucket %v.\n", bucketName)

	return nil
}

Java

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

import com.google.cloud.storage.Bucket;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;

public class DisableLifecycleManagement {
  public static void disableLifecycleManagement(String projectId, String bucketName) {
    // The ID of your GCP project
    // String projectId = "your-project-id";

    // The ID of your GCS bucket
    // String bucketName = "your-unique-bucket-name";

    Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
    Bucket bucket = storage.get(bucketName);
    bucket.toBuilder().deleteLifecycleRules().build().update();

    System.out.println("Lifecycle management was disabled for bucket " + bucketName);
  }
}

Node.js

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

async function disableBucketLifecycleManagement() {
  await storage.bucket(bucketName).setMetadata({lifecycle: null});

  console.log(`Lifecycle management is disabled for bucket ${bucketName}.`);
}

disableBucketLifecycleManagement().catch(console.error);

PHP

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.

use Google\Cloud\Storage\StorageClient;
use Google\Cloud\Storage\Bucket;

/**
 * Disable bucket lifecycle management.
 *
 * @param string $bucketName the name of your Cloud Storage bucket.
 */
function disable_bucket_lifecycle_management($bucketName)
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);

    $bucket->update([
        'lifecycle' => null
    ]);

    printf('Lifecycle management is disabled for bucket %s.' . PHP_EOL, $bucketName);
}

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.

from google.cloud import storage

def disable_bucket_lifecycle_management(bucket_name):
    """Disable lifecycle management for a bucket"""
    # bucket_name = "my-bucket"

    storage_client = storage.Client()

    bucket = storage_client.get_bucket(bucket_name)
    bucket.clear_lifecyle_rules()
    bucket.patch()
    rules = bucket.lifecycle_rules

    print("Lifecycle management is disable for bucket {} and the rules are {}".format(bucket_name, list(rules)))
    return bucket

Ruby

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.

# Disable lifecycle management for a bucket
# bucket_name = "Your Google Cloud Storage bucket name"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new
bucket = storage.bucket bucket_name

bucket.lifecycle do |l|
  l.clear
end

puts "Lifecycle management is disabled for bucket #{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 mit einer leeren Lebenszykluskonfiguration:

    {
      "lifecycle": {
        "rule": []
      }
    }
  3. Verwenden Sie cURL, um die JSON API mit einer PATCH-Bucket-Anfrage aufzurufen:

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

    Dabei gilt:

    • LIFECYCLE_CONFIG_FILE ist der Name der Datei, die Sie in Schritt 2 erstellt haben.
    • OAUTH2_TOKEN ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket

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 mit einer leeren Lebenszykluskonfiguration:

    <LifecycleConfiguration/>
  3. Verwenden Sie cURL, um die XML API mit einer PUT-Bucket-Anfrage aufzurufen:

    curl -X PUT --data-binary @XML_FILE.xml \
      -H "Authorization: Bearer OAUTH2_TOKEN" \
      "https://storage.googleapis.com/BUCKET_NAME?lifecycle"

    Dabei gilt:

    • XML_FILE ist der Name der Datei, die Sie in Schritt 2 erstellt haben.
    • OAUTH2_TOKEN ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket

Lebenszykluskonfiguration prüfen

So prüfen Sie die Lebenszykluskonfiguration eines Buckets:

Console

  1. Öffnen Sie den Cloud Storage-Browser in der Google Cloud Console.
    Zum Cloud Storage-Browser
  2. Der Lebenszyklusstatus jedes Buckets befindet sich in der Bucket-Liste in der Spalte Lebenszyklus.

    Sie können auf diesen Status klicken, um Regeln hinzuzufügen, anzusehen, zu bearbeiten und zu löschen.

Unter Fehlerbehebung erfahren Sie, wie Sie im Cloud Storage-Browser detaillierte Fehlerinformationen zu fehlgeschlagenen Vorgängen abrufen.

gsutil

  1. Führen Sie den Befehl lifecycle get aus:

    gsutil lifecycle get gs://BUCKET_NAME

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

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:

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

    Dabei gilt:

    • OAUTH2_TOKEN ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket

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 aufzurufen:

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

    Dabei gilt:

    • OAUTH2_TOKEN ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
    • BUCKET_NAME ist der Name des entsprechenden Buckets. Beispiel: my-bucket

Beispiele der Objektlebenszykluskonfiguration

In den folgenden Beispielen werden Lebenszykluskonfigurationen gezeigt, die Lebenszyklusaktionen ausführen, wenn gängige Lebenszyklusbedingungen erfüllt sind.

Objekt löschen

In der folgenden Lebenszykluskonfiguration werden drei Regeln festgelegt: Beachten Sie, dass die zweite und dritte Regel nur dann gelten, wenn Sie für den Bucket die Objektversionierung verwenden:

  1. Die Live-Versionen von Objekten, die älter als 30 Tage sind, werden gelöscht.

    • Wenn der Bucket die Objektversionierung verwendet, werden diese Objekte nicht aktuell und unterliegen den beiden anderen Regeln.

    • Wenn der Bucket keine Objektversionierung verwendet, werden diese Objekte dauerhaft gelöscht und können nicht wiederhergestellt werden.

  2. Nicht aktuelle Versionen von Objekten werden gelöscht, wenn es zwei neuere Versionen des Objekts im Bucket gibt. Objekte, die dieser Regel unterliegen, werden endgültig gelöscht und können nicht wiederhergestellt werden.

  3. Nicht aktuelle Versionen von Objekten, die älter als 35 Tage sind, werden gelöscht. Objekte, die dieser Regel unterliegen, werden endgültig gelöscht und können nicht wiederhergestellt werden.

Bei diesen drei Regeln gilt: Objekte werden nach dem Löschen innerhalb von 35 Tagen im Bucket dauerhaft gelöscht: Live-Versionen innerhalb von 30 Tagen und nicht aktuell Versionen innerhalb von 5 Tagen. Live-Objektversionen, die außerhalb des Umfangs dieser Konfiguration überschrieben oder gelöscht werden, werden schneller dauerhaft gelöscht: entweder 5 Tage ab dem Zeitpunkt, an dem sie nicht mehr aktuell sind, oder immer dann, wenn sich mehr als eine neuere Version des Objekts im Bucket befindet.

Console

Für diese Einstellungen wird die Anleitung aus dem Abschnitt Aktivieren verwendet.

  1. So löschen Sie Live-Versionen von Objekten, die älter als 30 Tage sind:

    1. Wählen Sie die Aktion Objekt löschen aus.
    2. Wählen Sie die Bedingung Alter aus und geben Sie als Wert 30 ein.
    3. Wählen Sie die Bedingung Livestatus und anschließend die Option Live aus.
  2. So löschen Sie nicht aktuelle Versionen von Objekten, wenn zwei neuere Versionen vorhanden sind:

    1. Wählen Sie die Aktion Objekt löschen aus.
    2. Wählen Sie die Bedingung Anzahl neuerer Versionen aus und geben Sie den Wert 2 ein.
  3. So löschen Sie nicht aktuelle Versionen von Objekten, die älter als 35 Tage sind:

    1. Wählen Sie die Aktion Objekt löschen aus.
    2. Wählen Sie die Bedingung Alter aus und geben Sie den Wert 35 ein.
    3. Wählen Sie die Bedingung Livestatus und anschließend die Option Nicht aktuell aus.

gsutil

Die folgende Lebenszykluskonfiguration kann durch die Aktivierung der Lebenszyklusverwaltung auf einen Bucket angewendet werden.

{
"lifecycle": {
  "rule": [
  {
    "action": {"type": "Delete"},
    "condition": {
      "age": 30,
      "isLive": true
    }
  },
  {
    "action": {"type": "Delete"},
    "condition": {
      "numNewerVersions": 2
    }
  },
  {
    "action": {"type": "Delete"},
    "condition": {
      "age": 35,
      "isLive": false
    }
  }
]
}
}

Informationen zum allgemeinen Format einer Lebenszyklus-Konfigurationsdatei finden Sie in der Bucket-Ressourcendarstellung für JSON.

REST APIs

JSON API

Die folgende Lebenszykluskonfiguration kann durch die Aktivierung der Lebenszyklusverwaltung auf einen Bucket angewendet werden.

{
"lifecycle": {
  "rule": [
  {
    "action": {"type": "Delete"},
    "condition": {
      "age": 30,
      "isLive": true
    }
  },
  {
    "action": {"type": "Delete"},
    "condition": {
      "numNewerVersions": 2
    }
  },
  {
    "action": {"type": "Delete"},
    "condition": {
      "age": 35,
      "isLive": false
    }
  }
]
}
}

Informationen zum allgemeinen Format einer Lebenszyklus-Konfigurationsdatei finden Sie in der Bucket-Ressourcendarstellung für JSON.

XML API

Die folgende Lebenszykluskonfiguration kann durch die Aktivierung der Lebenszyklusverwaltung auf einen Bucket angewendet werden.

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <IsLive>true</IsLive>
            <Age>30</Age>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <NumberOfNewerVersions>2</Age>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <IsLive>false</IsLive>
            <Age>35</Age>
        </Condition>
    </Rule>
</LifecycleConfiguration>

Informationen zum allgemeinen Format einer Lebenszyklus-Konfigurationsdatei finden Sie unter Lebenszyklus-Konfigurationsformat für XML.

Speicherklasse eines Objekts ändern

In der folgenden Lebenszykluskonfiguration werden zwei Regeln festgelegt:

  1. Änderung der Speicherklasse eines Objekts in Nearline Storage, wenn das Alter über 365 Tage (ein Jahr) liegt und die aktuelle Speicherklasse Standard Storage, Multi-Regional Storage oder Durable Reduced Availability (DRA) Storage ist.
  2. Änderung der Speicherklasse eines Objekts in Coldline Storage, wenn das Alter über 1095 Tage (drei Jahre) liegt und die aktuelle Speicherklasse Nearline Storage ist.

Console

Für diese Einstellungen wird die Anleitung aus dem Abschnitt Aktivieren verwendet.

  1. So verschieben Sie Objekte nach dem Erstellen in Cloud Storage Nearline 365:

    1. Wählen Sie die Aktion Speicherklasse auf Nearline festlegen aus.
    2. Wählen Sie die Bedingung Alter aus und geben Sie den Wert 365 ein.
    3. Wählen Sie die Bedingung Speicherklasse entspricht und anschließend die Optionen Standard, Multiregional und Durable Reduced Availability aus.
  2. So verschieben Sie Objekte 1.095 Tage nach dem Erstellen in Cloud Storage Coldline:

    1. Wählen Sie die Aktion Speicherklasse auf Coldline festlegen aus.
    2. Wählen Sie die Bedingung Alter aus und geben Sie den Wert 1095 ein.
    3. Wählen Sie die Bedingung Speicherklasse entspricht und anschließend die Option Nearline aus.

gsutil

Die folgende Lebenszykluskonfiguration kann durch die Aktivierung der Lebenszyklusverwaltung auf einen Bucket angewendet werden.

{
"lifecycle": {
  "rule": [
  {
    "action": {
      "type": "SetStorageClass",
      "storageClass": "NEARLINE"
    },
    "condition": {
      "age": 365,
      "matchesStorageClass": ["MULTI_REGIONAL", "STANDARD", "DURABLE_REDUCED_AVAILABILITY"]
    }
  },
  {
    "action": {
      "type": "SetStorageClass",
      "storageClass": "COLDLINE"
    },
    "condition": {
      "age": 1095,
      "matchesStorageClass": ["NEARLINE"]
    }
  }
]
}
}

Informationen zum allgemeinen Format einer Lebenszyklus-Konfigurationsdatei finden Sie in der Bucket-Ressourcendarstellung für JSON.

REST APIs

JSON API

Die folgende Lebenszykluskonfiguration kann durch die Aktivierung der Lebenszyklusverwaltung auf einen Bucket angewendet werden.

{
"lifecycle": {
  "rule": [
  {
    "action": {
      "type": "SetStorageClass",
      "storageClass": "NEARLINE"
    },
    "condition": {
      "age": 365,
      "matchesStorageClass": ["MULTI_REGIONAL", "STANDARD", "DURABLE_REDUCED_AVAILABILITY"]
    }
  },
  {
    "action": {
      "type": "SetStorageClass",
      "storageClass": "COLDLINE"
    },
    "condition": {
      "age": 1095,
      "matchesStorageClass": ["NEARLINE"]
    }
  }
]
}
}

Informationen zum allgemeinen Format einer Lebenszyklus-Konfigurationsdatei finden Sie in der Bucket-Ressourcendarstellung für JSON.

XML API

Die folgende Lebenszykluskonfiguration kann durch die Aktivierung der Lebenszyklusverwaltung auf einen Bucket angewendet werden.

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <SetStorageClass>NEARLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>365</Age>
            <MatchesStorageClass>MULTI_REGIONAL</MatchesStorageClass>
            <MatchesStorageClass>STANDARD</MatchesStorageClass>
            <MatchesStorageClass>DURABLE_REDUCED_AVAILABILITY</MatchesStorageClass>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <SetStorageClass>COLDLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>1095</Age>
            <MatchesStorageClass>NEARLINE</MatchesStorageClass>
        </Condition>
    </Rule>
</LifecycleConfiguration>

Informationen zum allgemeinen Format einer Lebenszyklus-Konfigurationsdatei finden Sie unter Lebenszyklus-Konfigurationsformat für XML.

Weitere Informationen