Wenn Sie einen Bucket erstellen, sind einige der Attribute, die Sie festlegen, dauerhaft und können nicht geändert werden, einschließlich des Namens des Buckets, seines geografischen Standorts und des Projekts, zu dem er gehört. Sie können Buckets jedoch effektiv verschieben oder umbenennen:
Wenn sich in Ihrem alten Bucket keine Daten befinden, löschen Sie den Bucket und erstellen einen weiteren Bucket mit den gewünschten Attributen.
Enthält der alte Bucket Daten, erstellen Sie einen neuen Bucket mit den gewünschten Attributen, kopieren die Daten aus dem alten Bucket in den neuen und löschen den alten Bucket und dessen Inhalt. Die Schritte auf dieser Seite beschreiben diesen Vorgang.
Wenn der neue Bucket den Namen Ihres alten Buckets übernehmen soll, müssen Sie die Daten vorübergehend in einen Bucket mit einem anderen Namen verschieben. Sie können dann den ursprünglichen Bucket löschen, sodass Sie den Bucket-Namen wiederverwenden können.
Das Verschieben von Daten zwischen Standorten verursacht Kosten für die Netzwerknutzung. Außerdem können durch das Verschieben von Daten zusätzliche Kosten anfallen, je nach Speicherklassen der Quelldaten und Standort des Ziel-Buckets. Weitere Informationen finden Sie unter Cloud Storage – Preise.
Erforderliche Berechtigungen
Console
Sie benötigen die entsprechenden IAM-Berechtigungen, um diesen Leitfaden mit der Google Cloud Console abzuschließen. Wenn die sich Buckets, auf die Sie zugreifen möchten, in einem Projekt befinden, das nicht Sie erstellt haben, muss Ihnen der Projektinhaber möglicherweise erst eine Rolle zuweisen, die die erforderlichen Berechtigungen enthält.
Eine Liste der erforderlichen Berechtigungen für bestimmte Aktionen finden Sie unter IAM-Berechtigungen für die Google Cloud Console.
Eine Liste der relevanten Rollen finden Sie unter Cloud Storage-Rollen. Alternativ können Sie eine benutzerdefinierte Rolle erstellen, die spezifische, eingeschränkte Berechtigungen hat.
Befehlszeile
Damit Sie diese Anleitung mit einem Befehlszeilen-Dienstprogramm ausführen können, benötigen Sie die entsprechenden IAM-Berechtigungen. Wenn die sich Buckets, auf die Sie zugreifen möchten, in einem Projekt befinden, das nicht Sie erstellt haben, muss Ihnen der Projektinhaber möglicherweise erst eine Rolle zuweisen, die die erforderlichen Berechtigungen enthält.
Eine Liste der erforderlichen Berechtigungen für bestimmte Aktionen finden Sie unter IAM-Berechtigungen für gcloud storage
-Befehle.
Eine Liste der relevanten Rollen finden Sie unter Cloud Storage-Rollen. Alternativ können Sie eine benutzerdefinierte Rolle erstellen, die spezifische, eingeschränkte Berechtigungen hat.
REST APIs
JSON API
Sie benötigen die entsprechenden IAM-Berechtigungen, um diese Anleitung mit der JSON API abzuschließen. Wenn die sich Buckets, auf die Sie zugreifen möchten, in einem Projekt befinden, das nicht Sie erstellt haben, muss Ihnen der Projektinhaber möglicherweise erst eine Rolle zuweisen, die die erforderlichen Berechtigungen enthält.
Eine Liste der für bestimmte Aktionen erforderlichen Berechtigungen finden Sie unter IAM-Berechtigungen für JSON-Methoden.
Eine Liste der relevanten Rollen finden Sie unter Cloud Storage-Rollen. Alternativ können Sie eine benutzerdefinierte Rolle erstellen, die spezifische, eingeschränkte Berechtigungen hat.
Daten zwischen Buckets verschieben
Console
Verwenden Sie den Storage Transfer Service in der Google Cloud Console:
- Wenn Sie noch keinen Ziel-Bucket haben, erstellen Sie den Bucket.
Öffnen Sie in der Google Cloud Console die Seite „Übertragen“.
- Klicken Sie auf Übertragung erstellen.
Führen Sie die folgenden Schritte aus und klicken Sie dabei nach jedem Schritt auf Nächster Schritt:
Quelle auswählen: Verwenden Sie Google Cloud Storage-Bucket als Quelltyp und geben Sie entweder direkt den Namen des gewünschten Buckets ein oder klicken Sie auf Durchsuchen, um die Suche zu starten und wählen Sie den gewünschten Bucket aus.
Ziel auswählen: Geben Sie entweder den Namen des gewünschten Buckets direkt ein oder klicken Sie auf Durchsuchen, um den gewünschten Bucket zu suchen und auszuwählen.
Einstellungen auswählen: Wählen Sie die Option Dateien nach der Übertragung aus der Quelle löschen aus.
Planungsoptionen: Diesen Abschnitt können Sie ignorieren.
Nachdem Sie alle Schritte ausgeführt haben, klicken Sie auf Erstellen.
Damit beginnt das Kopieren der Objekte aus dem alten Bucket in den neuen. Der Vorgang kann einige Zeit in Anspruch nehmen. Nachdem Sie auf Erstellen geklickt haben, können Sie die Google Cloud Console aber verlassen.
So sehen Sie den Fortschritt der Übertragung:
Öffnen Sie in der Google Cloud Console die Seite „Übertragen“.
Unter Fehlerbehebung erfahren Sie, wie Sie detaillierte Fehlerinformationen zu fehlgeschlagenen Cloud Storage-Vorgängen in der Google Cloud Console abrufen.
Sie müssen nichts unternehmen, um die Objekte aus dem alten Bucket zu löschen, sobald die Übertragung abgeschlossen ist. Dazu müssen Sie bei der Einrichtung das Kästchen Quellobjekte nach Übertragung löschen ausgewählt haben. Sie können jedoch auch Ihren alten Bucket löschen, was Sie separat machen müssen.
Befehlszeile
Erstellen Sie einen Ziel-Bucket, falls Sie noch keinen haben.
Verwenden Sie den Befehl
gcloud storage cp
mit der Option--recursive
, um den Inhalt des Quell-Buckets rekursiv in den Ziel-Bucket zu kopieren:gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET
Wobei:
SOURCE_BUCKET
ist der Name des ursprünglichen Buckets. Beispiel:old-bucket
.DESTINATION_BUCKET
ist der Name des Buckets, in den Sie Ihre Daten verschieben. Beispiel:my-bucket
.
Wenn in Ihrem Bucket verwaltete Ordner und ein flacher Namespace verwendet werden, müssen Sie das Flag
--include-managed-folders
in den Befehl aufnehmen, damit die verwalteten Ordner kopiert werden.Wenn Sie den Inhalt des Quell-Buckets zusammen mit dem Quell-Bucket selbst rekursiv löschen möchten, verwenden Sie den Befehl
gcloud storage rm
mit der Option--recursive
:gcloud storage rm --recursive gs://SOURCE_BUCKET
Dabei ist
SOURCE_BUCKET
der Name des ursprünglichen Buckets. Beispiel:old-bucket
.Wenn Sie den Inhalt aus dem Quell-Bucket löschen möchten, ohne den Quell-Bucket selbst zu löschen, verwenden Sie den Befehl
gcloud storage rm
mit dem Flag--all-versions
und dem Platzhalter**
:gcloud storage rm --all-versions gs://SOURCE_BUCKET/**
Dabei ist
SOURCE_BUCKET
der Name des ursprünglichen Buckets. Beispiel:old-bucket
.
REST APIs
JSON API
Wenn Sie noch keinen Ziel-Bucket haben, erstellen Sie den Bucket.
Kopieren Sie alle Objekte aus Ihrem Quell-Bucket in den Ziel-Bucket.
Löschen Sie alle Objekte in Ihrem Quell-Bucket.
XML API
Wenn Sie noch keinen Ziel-Bucket haben, erstellen Sie den Bucket.
Kopieren Sie alle Objekte aus Ihrem Quell-Bucket in den Ziel-Bucket.
Löschen Sie alle Objekte in Ihrem Quell-Bucket.
Nächste Schritte
Weitere Informationen finden Sie unter Verfügbare Speicherorte für Buckets und Benennungsrichtlinien für Buckets.
Weitere Informationen zum Erstellen und Verwalten von Datenübertragungen mit der Google Cloud Console.
Sehen Sie sich das Tool zum Verschieben von Buckets an, ein inoffizielles Tool zum einfacheren Verschieben von Buckets.