Auf dieser Seite wird beschrieben, wie Sie den Status der Objektversionsverwaltung für einen Bucket aktivieren, deaktivieren und prüfen. Weitere Informationen zum Auflisten, Wiederherstellen und Löschen von Objekten, die von der Objektversionsverwaltung beibehalten werden, finden Sie unter Mit versionierten Objekten arbeiten.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Storage-Administrator“ (roles/storage.admin
) für den Bucket oder das Projekt mit dem Bucket zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Festlegen und Verwalten der Objektversionsverwaltung für einen Bucket benötigen. Diese vordefinierte Rolle enthält die Berechtigungen, die zum Festlegen und Verwalten der Objektversionsverwaltung 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 nur erforderlich, wenn Sie die Google Cloud Console zum Ausführen der Anleitung auf dieser Seite verwenden möchten.
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen erhalten.
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.
Objektversionsverwaltung für einen Bucket festlegen
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, für den Sie die Objektversionsverwaltung aktivieren oder deaktivieren möchten.
Wählen Sie oben auf der Seite den Tab Schutz aus.
Den aktuellen Status der Objektversionsverwaltung finden Sie im Abschnitt Objektversionsverwaltung.
Klicken Sie im Abschnitt Objektversionsverwaltung auf den aktuellen Status, um Änderungen daran vorzunehmen.
Das Dialogfeld Objektversionsverwaltung wird angezeigt.
- Wenn Sie die Objektversionierung aktivieren und die Speicherkosten minimieren möchten, klicken Sie das Kästchen Empfohlene Lebenszyklusregeln hinzufügen, um Versionskosten zu verwalten an.
Klicken Sie auf Bestätigen.
Befehlszeile
Führen Sie den gcloud storage buckets update
-Befehl mit dem geeigneten Flag aus.
gcloud storage buckets update gs://BUCKET_NAME FLAG
Dabei gilt:
BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
.FLAG
ist entweder--versioning
(um die Objektversionierung zu aktivieren) oder--no-versioning
, um sie zu deaktivieren.
Wenn der Vorgang erfolgreich war, sieht die Antwort in etwa so aus:
Updating gs://my-bucket/... Completed 1
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird die Objektversionierung für einen Bucket aktiviert:
Im folgenden Beispiel wird die Objektversionierung für einen Bucket deaktiviert:
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird die Objektversionierung für einen Bucket aktiviert:
Im folgenden Beispiel wird die Objektversionierung für einen Bucket deaktiviert:
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird die Objektversionierung für einen Bucket aktiviert:
Im folgenden Beispiel wird die Objektversionierung für einen Bucket deaktiviert:
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird die Objektversionierung für einen Bucket aktiviert:
Im folgenden Beispiel wird die Objektversionierung für einen Bucket deaktiviert:
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird die Objektversionierung für einen Bucket aktiviert:
Im folgenden Beispiel wird die Objektversionierung für einen Bucket deaktiviert:
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird die Objektversionierung für einen Bucket aktiviert:
Im folgenden Beispiel wird die Objektversionierung für einen Bucket deaktiviert:
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird die Objektversionierung für einen Bucket aktiviert:
Im folgenden Beispiel wird die Objektversionierung für einen Bucket deaktiviert:
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird die Objektversionierung für einen Bucket aktiviert:
Im folgenden Beispiel wird die Objektversionierung für einen Bucket deaktiviert:
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "versioning": { "enabled": STATE } }
Dabei ist STATE entweder
true
oderfalse
.Verwenden Sie
cURL
, um die JSON API mit einerPATCH
-Bucket-Anfrage aufzurufen:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die JSON-Datei, die Sie in Schritt 2 erstellt haben.BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
.
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine XML-Datei, die folgende Information enthält:
<VersioningConfiguration> <Status>STATE</Status> </VersioningConfiguration>
Dabei ist STATE entweder
Enabled
oderSuspended
.Verwenden Sie
cURL
, um die XML API mit einerPUT
-Bucket-Anfrage und dem Abfragestringparameterversioning
aufzurufen:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Dabei gilt:
XML_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 erstellt haben.BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
.
Sobald die Objektversionsverwaltung aktiviert ist, wird diese Version jedes Mal, wenn eine Live-Objektversion ersetzt oder gelöscht wird, zu einer nicht aktuellen Version.
Prüfen, ob die Objektversionierung aktiviert ist
So prüfen Sie, ob die Objektversionierung für einen Bucket aktiviert ist:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
In der Liste der Buckets finden Sie den Status der Objektversionsverwaltung jedes Buckets in der Spalte Schutz.
Wenn diese Option aktiviert ist, wird der Text Objektversionsverwaltung angezeigt.
Befehlszeile
Führen Sie den Befehl gcloud storage buckets describe
mit dem Flag --format
aus.
gcloud storage buckets describe gs://BUCKET_NAME --format="default(versioning)"
Dabei ist BUCKET_NAME
der Name des Buckets, dessen Status Sie aufrufen möchten. Beispiel: my-bucket
.
Wenn erfolgreich und die Objektversionierung aktiviert ist, sieht die Antwort in etwa so aus:
versioning: enabled: true
Wenn erfolgreich und die Objektversionierung nicht aktiviert ist, sieht die Antwort in etwa so aus:
null
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einerGET
-Bucket-Anfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=versioning"
Dabei ist
BUCKET_NAME
der Name des entsprechenden Buckets. Beispiel:my-bucket
.
Wenn erfolgreich und die Objektversionierung aktiviert ist, sieht die Antwort in etwa so aus:
{ "versioning": { "enabled": true } }
Wenn erfolgreich und die Objektversionierung nicht aktiviert ist, sieht die Antwort in etwa so aus:
{}
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die XML API mit einerGET
-Bucket-Anfrage und dem Abfragestringparameterversioning
aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versioning"
Dabei ist
BUCKET_NAME
der Name des entsprechenden Buckets. Beispiel:my-bucket
.
Wenn erfolgreich und die Objektversionierung aktiviert ist, sieht die Antwort in etwa so aus:
<VersioningConfiguration>
<Status>Enabled</Status>
</VersioningConfiguration>
Wenn erfolgreich und die Objektversionierung nicht aktiviert ist, sieht die Antwort in etwa so aus:
<VersioningConfiguration/>
Nächste Schritte
- Weitere Informationen zur Objektversionierung
- Mit nicht aktuellen Objekten arbeiten
- Verwaltung des Objektlebenszyklus verwenden, um Objektversionen automatisch zu verwalten
- Anfragevorbedingungen verwenden, um Race-Bedingungen zu verhindern