Saat Anda membuat bucket dengan namespace hierarkis diaktifkan, bucket tersebut menyimpan data dalam struktur sistem file yang sebenarnya, bukan namespace datar standar. Folder dalam bucket dengan namespace hierarkis yang diaktifkan memungkinkan Anda mengatur objek menggunakan direktori, termasuk kemampuan seperti penggantian nama folder atomik. Dokumen ini menjelaskan metadata folder, operasi folder, cara folder berinteraksi dengan folder terkelola, dan pertimbangan untuk menggunakan folder.
Folder dalam bucket dengan namespace hierarkis yang diaktifkan berbeda dengan folder simulasi dan folder terkelola. Folder simulasi ada di bucket namespace datar dan folder terkelola dapat diterapkan di bucket namespace datar dan bucket dengan namespace hierarkis yang diaktifkan. Folder terkelola terutama digunakan untuk memberikan izin IAM ke grup objek. Untuk mengetahui informasi selengkapnya tentang jenis folder lainnya ini, lihat Jenis folder.
Anda dapat mengelola folder dengan melakukan operasi folder. Untuk mempelajari cara membuat, mencantumkan, dan menghapus folder, serta mendapatkan metadata folder, lihat Membuat dan mengelola folder. Untuk mempelajari cara mengganti nama atau memindahkan folder, lihat Mengganti nama folder.
Metadata folder
Metadata folder berisi informasi terstruktur tentang folder. Untuk mengetahui informasi mendetail tentang metadata folder, lihat resource Folder dalam dokumentasi referensi Cloud Storage JSON API.
Komponen utama metadata folder adalah sebagai berikut:
bucket: Nama bucket tempat folder berada. Contoh,my-bucket.id: ID unik untuk folder dalam bucket. Contoh,hns-bucket/dir1/.kind: Jenis resource. Untuk folder, nilai ini selalustorage#folder.name: Nama folder. Contoh,dir1/.selfLink: URL yang merujuk ke folder di Cloud Storage API.timeCreated: Stempel waktu saat folder dibuat. Contoh,2023-05-05T16:32:08.878000+00:00.updated: Stempel waktu saat folder terakhir diperbarui. Contoh,2024-05-06T16:32:08.878000+00:00.
Operasi folder
Bagian ini menjelaskan operasi yang dapat Anda lakukan pada folder. Beberapa operasi memulai operasi yang berjalan lama yang dapat Anda pantau untuk melacak progres dan status operasi.
Membuat folder
Anda dapat membuat folder secara eksplisit menggunakan operasi pembuatan folder.
Selain itu, saat Anda membuat objek dan menentukan folder yang tidak ada di jalurnya, folder induk yang tidak ada akan otomatis dibuat untuk Anda. Misalnya,
membuat objek bernama dir1/foo.txt akan otomatis membuat folder dir1/
jika belum ada.
Untuk mengetahui informasi tentang penamaan folder, lihat Panduan penamaan folder.
Mencantumkan folder
Anda dapat mengambil daftar folder di bucket menggunakan operasi daftar folder. Karena folder adalah resource yang berbeda dalam bucket dengan namespace hierarkis yang diaktifkan, operasi ini mengevaluasi struktur folder yang sebenarnya, bukan menyimulasikan folder dari jalur objek.
Saat mencantumkan folder, Anda dapat memfilter hasilnya menggunakan parameter seperti
prefix, delimiter, lexicographicStart, dan lexicographicEnd. Misalnya, menetapkan parameter pemisah ke / memungkinkan Anda mencantumkan folder dalam mode seperti direktori, yang hanya menampilkan folder yang cocok dengan awalan atau ada satu tingkat di bawahnya.
Operasi daftar folder menampilkan hasil yang diberi nomor halaman. Satu halaman respons dapat berisi maksimum 1.000 folder.
Mendapatkan metadata folder
Anda dapat mengambil properti folder menggunakan operasi dapatkan metadata folder. Operasi ini mengambil informasi tentang resource folder itu sendiri, bukan objek yang ada di dalamnya.
Operasi ini menampilkan metadata folder, yang memberikan informasi terstruktur seperti stempel waktu pembuatan, ID unik, dan bucket tempat folder tersebut berada. Untuk mengetahui daftar mendetail properti yang ditampilkan oleh operasi ini, lihat Metadata folder.
Mengganti nama atau memindahkan folder
Mengganti nama folder dan memindahkan folder menggunakan operasi dasar yang sama. Operasi ini adalah perubahan atomik khusus metadata yang memperbarui jalur folder tanpa menyalin atau menghapus objek yang mendasarinya secara fisik. Mengganti nama folder juga akan memperbarui jalur folder untuk resource dalam folder, seperti folder turunan, objek, dan folder terkelola. Hal ini membuat operasi menjadi cepat dan menghindari biaya penyalinan objek.
Operasi penggantian nama folder memulai operasi yang berjalan lama. Waktu yang diperlukan untuk menyelesaikan operasi bergantung pada jumlah folder yang diganti namanya, termasuk folder itu sendiri dan semua folder turunannya. Untuk melacak progres operasi penggantian nama folder, lihat Menggunakan operasi yang berjalan lama. Selama operasi penggantian nama folder, Anda dapat membaca dan mencantumkan folder yang diganti namanya, tetapi Anda tidak dapat menjalankan operasi tulis pada folder tersebut.
Di JSON API dan Google Cloud CLI, operasi penggantian nama dan pemindahan menggunakan endpoint URL atau perintah yang sama. Di konsol Google Cloud , Rename folder dan Move folder ditampilkan sebagai dua opsi yang berbeda, tetapi kedua opsi tersebut menjalankan operasi backend yang sama.
Menghapus folder
Anda dapat menghapus folder secara permanen menggunakan operasi hapus folder. Meskipun folder dapat dibuat secara otomatis selama operasi objek, folder tidak akan otomatis dihapus saat kosong. Anda harus menghapusnya secara eksplisit.
Interaksi antara folder dan folder terkelola terkait
Folder terkelola terkait digunakan untuk mengontrol akses folder dalam bucket dengan namespace hierarkis yang diaktifkan. Folder dan folder terkelola terkait berinteraksi dengan cara berikut:
Pembuatan folder: Saat Anda membuat folder terkelola di bucket dengan namespace hierarkis yang diaktifkan, folder yang tidak ada di jalurnya akan dibuat secara otomatis, termasuk folder induk dan folder target yang sebenarnya (juga dikenal sebagai folder terkait).
Misalnya, Anda membuat bucket dengan namespace hierarkis yang diaktifkan bernama
my-bucket. Jika Anda membuat folder terkelola bernama2025/training-data/di bucket, Cloud Storage akan otomatis membuat folder induk2025/dan folder terkait targettraining-data/di bucket.Penghapusan folder: Saat Anda menghapus folder yang memiliki folder terkelola terkait, Cloud Storage juga akan menghapus folder terkelola terkait. Hal ini karena saat Anda menghapus folder, Anda menghapus jalur sepenuhnya. Karena jalur tidak ada lagi, folder terkelola terkait dan kebijakan IAM apa pun yang dilampirkan ke folder tersebut akan dihapus. Dalam bucket dengan namespace hierarkis yang diaktifkan, folder terkelola tidak dapat ada tanpa folder terkait.
Jika Anda tidak memiliki izin yang diperlukan untuk menghapus folder terkelola yang terkait dengan folder, operasi penghapusan folder akan gagal. Untuk menemukan izin yang diperlukan untuk menghapus folder terkelola, lihat Mendapatkan peran yang diperlukan untuk folder terkelola.
Penggantian nama folder: Saat Anda mengganti nama folder yang memiliki folder terkelola terkait, Cloud Storage juga akan mengganti nama folder terkelola terkait.
Untuk mengetahui informasi tentang persyaratan penamaan folder yang memiliki folder terkelola terkait, lihat Penamaan untuk folder.
Panduan penamaan folder
Saat membuat folder, lihat panduan berikut:
Hubungan antara nama objek dan nama folder: Di bucket dengan namespace hierarkis yang diaktifkan, folder dan objek adalah resource yang berbeda, meskipun nama objek menyertakan jalur foldernya. Nama objek selalu berupa jalur lengkap dalam bucket (seperti
dir1/foo.txt), sedangkan setiap garis miring (/) bertindak sebagai pembatas yang menempatkan objek di dalam resource folder (sepertidir1/).Bucket dengan namespace hierarkis yang diaktifkan mendukung semua nama objek yang valid, termasuk yang memiliki garis miring di awal, di akhir, atau berurutan. Saat Anda mengupload objek, Cloud Storage akan otomatis membuat resource folder yang tidak ada di jalurnya.
Tabel berikut menunjukkan cara nama objek dipetakan ke resource folder:
Nama objek Parent folder Lokasi dalam hierarki folder foo.txtFolder inti Setiap bucket memiliki folder root tanpa nama. Karena foo.txttidak berisi garis miring, objek berada langsung di folder root.dir1/foo.txtdir1/Nama lengkap objek adalah dir1/foo.txt, bukanfoo.txt. File ini berada di folder tingkat teratasdir1/, yang berbeda dari folder root.dir1/dir1/Garis miring di akhir tidak mengubah objek menjadi folder. Sebagai gantinya, objek bernama dir1/adalah resource objek terpisah yang berada di dalam folderdir1/./foo.txt/Garis miring di awal menentukan folder tingkat teratas bernama /, yang berbeda dari folder root. Objek/foo.txtberada di dalam folder/.dir1//foo.txtdir1//Garis miring berturut-turut menentukan folder bertingkat. Objek dir1//foo.txtberada di folder level keduadir1//, yang merupakan turunan daridir1/.Informasi identitas pribadi (PII) atau sensitif: Nama folder terlihat lebih luas daripada metadata folder. Misalnya, nama folder muncul di URL dan saat mencantumkan folder atau objek dalam bucket. Jangan menyertakan informasi sensitif atau PII dalam nama folder.
Ukuran nama folder maksimum: 512 byte (berenkode UTF-8).
Kedalaman folder maksimum: Bucket dengan namespace hierarkis yang diaktifkan mendukung kedalaman folder maksimum 50. Folder dapat dibuat dengan maksimal 50 folder turunan bertingkat (misalnya,
folder1/folder2/folder3/.../folder50/my-data.txt). Namun, jika folder memiliki folder terkelola terkait, folder tersebut hanya dapat memiliki maksimal 15 folder turunan bertingkat.