Wenn Sie einen Bucket mit aktiviertem hierarchischem Namespace erstellen, werden die Daten im Bucket in einer echten Dateisystemstruktur und nicht in einem standardmäßigen flachen Namespace gespeichert. In Buckets mit aktiviertem hierarchischen Namespace können Sie Objekte mithilfe von Verzeichnissen organisieren. Dazu gehören auch Funktionen wie das atomare Umbenennen von Ordnern. In diesem Dokument werden Ordnermetadaten, Ordnervorgänge, die Interaktion von Ordnern mit verwalteten Ordnern und Überlegungen zur Verwendung von Ordnern beschrieben.
Ordner in Buckets mit aktiviertem hierarchischen Namespace unterscheiden sich von simulierten und verwalteten Ordnern. Simulierte Ordner sind in Buckets mit flachem Namespace vorhanden. Verwaltete Ordner können sowohl in Buckets mit flachem Namespace als auch in Buckets mit aktiviertem hierarchischem Namespace verwendet werden. Verwaltete Ordner werden hauptsächlich verwendet, um Gruppen von Objekten IAM-Berechtigungen zu gewähren. Weitere Informationen zu diesen anderen Ordnertypen finden Sie unter Ordnertypen.
Sie können Ordner verwalten, indem Sie Ordner-Vorgänge ausführen. Informationen zum Erstellen, Auflisten und Löschen von Ordnern sowie zum Abrufen von Ordnermetadaten finden Sie unter Ordner erstellen und verwalten. Informationen zum Umbenennen oder Verschieben eines Ordners finden Sie unter Ordner umbenennen.
Ordner-Metadaten
Die Metadaten eines Ordners enthalten strukturierte Informationen zum Ordner. Ausführliche Informationen zu Ordnermetadaten finden Sie in der Ressource Folder in der JSON API-Referenzdokumentation für Cloud Storage.
Die wichtigsten Komponenten von Ordnermetadaten sind:
bucket: Der Name des Buckets, in dem sich der Ordner befindet. Beispiel:my-bucket.id: Eine eindeutige Kennung für den Ordner im Bucket. Beispiel:hns-bucket/dir1/.kindist der Ressourcentyp. Bei einem Ordner ist dieser Wert immerstorage#folder.name: Der Name des Ordners. Beispiel:dir1/.selfLink: Eine URL, die auf den Ordner in der Cloud Storage API verweist.timeCreated: Der Zeitstempel, der angibt, wann der Ordner erstellt wurde. Beispiel:2023-05-05T16:32:08.878000+00:00.updated: Der Zeitstempel, der angibt, wann die Ordner zuletzt aktualisiert wurde. Beispiel:2024-05-06T16:32:08.878000+00:00.
Ordnervorgänge
In diesem Abschnitt werden die Vorgänge beschrieben, die Sie für Ordner ausführen können. Einige Vorgänge initiieren einen Vorgang mit langer Ausführungszeit, den Sie überwachen können, um den Fortschritt und Status des Vorgangs im Blick zu behalten.
Ordner erstellen
Sie können Ordner explizit mit dem Vorgang zum Erstellen von Ordnern erstellen.
Wenn Sie ein Objekt erstellen und einen nicht vorhandenen Ordner im Pfad angeben, wird der fehlende übergeordnete Ordner automatisch für Sie erstellt. Beispiel:
Wenn Sie ein Objekt mit dem Namen dir1/foo.txt erstellen, wird der Ordner dir1/ automatisch erstellt, sofern noch nicht vorhanden.
Informationen zur Benennung von Ordnern finden Sie in den Richtlinien für die Benennung von Ordnern.
Ordner auflisten
Mit dem Vorgang „Ordner auflisten“ können Sie eine Liste der Ordner in Ihrem Bucket abrufen. Da Ordner in Buckets mit aktiviertem hierarchischen Namespace separate Ressourcen sind, wird bei diesem Vorgang die tatsächliche Ordnerstruktur ausgewertet, anstatt Ordner aus Objektpfaden zu simulieren.
Wenn Sie Ordner auflisten, können Sie die Ergebnisse mit Parametern wie prefix, delimiter, lexicographicStart und lexicographicEnd filtern. Wenn Sie beispielsweise den Trennzeichenparameter auf / setzen, können Sie Ordner in einem verzeichnisähnlichen Modus auflisten. Dabei werden nur die Ordner zurückgegeben, die dem Präfix entsprechen oder eine Ebene darunter liegen.
Der Vorgang zum Auflisten von Ordnern gibt paginierte Ergebnisse zurück. Eine einzelne Antwortseite kann maximal 1.000 Ordner enthalten.
Metadaten eines Ordners abrufen
Sie können die Attribute eines Ordners mit dem Vorgang zum Abrufen von Ordnermetadaten abrufen. Bei diesem Vorgang werden Informationen zur Ordnerressource selbst und nicht zu den darin enthaltenen Objekten abgerufen.
Dieser Vorgang gibt die Metadaten eines Ordners zurück, die strukturierte Informationen wie den Erstellungszeitstempel, die eindeutige Kennung und den Bucket enthalten, in dem sich der Ordner befindet. Eine detaillierte Liste der von diesem Vorgang zurückgegebenen Attribute finden Sie unter Ordnermetadaten.
Ordner umbenennen oder verschieben
Das Umbenennen und Verschieben eines Ordners verwenden denselben zugrunde liegenden Vorgang. Der Vorgang ist eine atomare, reine Metadatenänderung, bei der der Pfad des Ordners aktualisiert wird, ohne dass die zugrunde liegenden Objekte physisch kopiert oder gelöscht werden. Wenn Sie einen Ordner umbenennen, wird auch der Pfad des Ordners für Ressourcen im Ordner aktualisiert, z. B. für untergeordnete Ordner, Objekte und verwaltete Ordner. Dadurch wird der Vorgang schnell ausgeführt und es fallen keine Kosten für das Kopieren von Objekten an.
Durch das Umbenennen des Ordners wird ein Vorgang mit langer Ausführungszeit initiiert. Die Zeit, die für den Vorgang benötigt wird, hängt von der Anzahl der umbenannten Ordner ab, einschließlich des Ordners selbst und aller seiner untergeordneten Ordner. Informationen zum Verfolgen des Fortschritts eines Vorgangs zum Umbenennen von Ordnern finden Sie unter Vorgänge mit langer Ausführungszeit verwenden. Während des Umbenennens eines Ordners können Sie die umzubenennenden Ordner lesen und auflisten, aber keine Schreibvorgänge für sie ausführen.
In der JSON API und der Google Cloud CLI verwenden die Umbenennungs- und Verschiebevorgänge denselben URL-Endpunkt oder Befehl. In der Google Cloud Console werden Ordner umbenennen und Ordner verschieben als zwei separate Optionen angezeigt, aber beide Optionen führen denselben Back-End-Vorgang aus.
Ordner löschen
Sie können einen Ordner mit dem Vorgang „Ordner löschen“ endgültig löschen. Ordner können zwar automatisch während Objektvorgängen erstellt werden, werden aber nicht automatisch entfernt, wenn sie leer sind. Sie müssen sie explizit löschen.
Interaktionen zwischen Ordnern und zugehörigen verwalteten Ordnern
Verknüpfte verwaltete Ordner werden verwendet, um den Zugriff auf Ordner in Buckets mit aktiviertem hierarchischen Namespace zu steuern. Ordner und zugehörige verwaltete Ordner interagieren auf folgende Weise:
Ordnererstellung: Wenn Sie einen verwalteten Ordner in einem Bucket mit aktiviertem hierarchischen Namespace erstellen, werden alle fehlenden Ordner im Pfad automatisch erstellt, einschließlich übergeordneter Ordner und des eigentlichen Zielordners (auch als zugehöriger Ordner bezeichnet).
Angenommen, Sie erstellen einen Bucket mit aktiviertem hierarchischen Namespace namens
my-bucket. Wenn Sie im Bucket einen verwalteten Ordner mit dem Namen2025/training-data/erstellen, erstellt Cloud Storage automatisch den übergeordneten Ordner2025/und den zugehörigen Zielordnertraining-data/im Bucket.Ordner löschen: Wenn Sie einen Ordner löschen, der einen zugehörigen verwalteten Ordner hat, löscht Cloud Storage auch den zugehörigen verwalteten Ordner. Das liegt daran, dass beim Löschen eines Ordners der Pfad vollständig gelöscht wird. Da der Pfad nicht mehr vorhanden ist, werden der zugehörige verwaltete Ordner und alle daran angehängten IAM-Richtlinien gelöscht. In Buckets mit aktiviertem hierarchischen Namespace kann ein verwalteter Ordner nicht ohne einen zugehörigen Ordner existieren.
Wenn Sie nicht die erforderlichen Berechtigungen zum Löschen des zugehörigen verwalteten Ordners haben, schlägt der Löschvorgang fehl. Die erforderlichen Berechtigungen zum Löschen verwalteter Ordner finden Sie unter Erforderliche Rollen für verwaltete Ordner abrufen.
Ordner umbenennen: Wenn Sie einen Ordner umbenennen, der einen zugehörigen verwalteten Ordner hat, benennt Cloud Storage auch den zugehörigen verwalteten Ordner um.
Informationen zu den Benennungsanforderungen für Ordner, die einen zugehörigen verwalteten Ordner haben, finden Sie unter Benennung von Ordnern.
Richtlinien für Ordnernamen
Beachten Sie beim Erstellen von Ordnern die folgenden Richtlinien:
Beziehung zwischen Objektnamen und Ordnernamen: In Buckets mit aktiviertem hierarchischen Namespace sind Ordner und Objekte unterschiedliche Ressourcen, auch wenn der Name eines Objekts den Ordnerpfad enthält. Ein Objektname ist immer der vollständige Pfad innerhalb des Buckets (z. B.
dir1/foo.txt), wobei jeder Schrägstrich (/) als Trennzeichen dient, das das Objekt in einer Ordnerressource (z. B.dir1/) platziert.Buckets mit aktiviertem hierarchischen Namespace unterstützen alle gültigen Objektnamen, einschließlich der mit voran- oder nachgestellten Schrägstrichen oder aufeinanderfolgenden Schrägstrichen. Wenn Sie ein Objekt hochladen, erstellt Cloud Storage automatisch alle fehlenden Ordnerressourcen im Pfad.
In der folgenden Tabelle sehen Sie, wie Objektnamen Ordnerressourcen zugeordnet werden:
Objektname Übergeordneter Ordner Speicherort in der Ordnerhierarchie foo.txtStammordner Jeder Bucket hat einen unbenannten Stammordner. Da foo.txtkeinen Schrägstrich enthält, befindet sich das Objekt direkt im Stammordner.dir1/foo.txtdir1/Der vollständige Name des Objekts lautet dir1/foo.txt, nichtfoo.txt. Sie befindet sich im übergeordneten Ordnerdir1/, der sich vom Stammordner unterscheidet.dir1/dir1/Ein abschließender Schrägstrich macht ein Objekt nicht zu einem Ordner. Stattdessen ist ein Objekt mit dem Namen dir1/eine separate Objektressource, die sich im Ordnerdir1/befindet./foo.txt/Ein vorangestellter Schrägstrich definiert einen Ordner auf oberster Ebene mit dem Namen /, der sich vom Stammordner unterscheidet. Das Objekt/foo.txtbefindet sich im Ordner/.dir1//foo.txtdir1//Aufeinanderfolgende Schrägstriche definieren verschachtelte Ordner. Das Objekt dir1//foo.txtbefindet sich im Ordnerdir1//auf der zweiten Ebene, der ein untergeordnetes Element vondir1/ist.Vertrauliche oder personenidentifizierbare Informationen (PII): Ordnernamen sind allgemeiner sichtbar als Ordnermetadaten. Ordnernamen werden beispielsweise in URLs und beim Auflisten von Ordnern oder Objekten in einem Bucket angezeigt. Ordnernamen dürfen keine vertraulichen Informationen oder personenidentifizierbaren Informationen enthalten.
Maximale Größe des Ordnernamens: 512 Byte (UTF-8-codiert).
Maximale Ordnertiefe: Buckets mit aktiviertem hierarchischen Namespace unterstützen eine maximale Ordnertiefe von 50. Ordner können mit bis zu 50 verschachtelten untergeordneten Ordnern erstellt werden (z. B.
folder1/folder2/folder3/.../folder50/my-data.txt). Wenn ein Ordner jedoch einen zugehörigen verwalteten Ordner hat, kann er nur bis zu 15 verschachtelte untergeordnete Ordner haben.