Halaman ini menjelaskan cara mengganti nama dan memindahkan folder dalam bucket dengan namespace hierarkis diaktifkan.
Operasi rename secara rekursif mengganti nama folder, folder turunannya, dan resource terkait, termasuk objek dan folder terkelola dalam satu organisasi atomik, tindakan.
Operasi penggantian nama bersifat atomik. Operasi akan berhasil diselesaikan dan memindahkan resource ke jalur barunya atau gagal karena mengalami error. Jika terjadi error, semua resource dipulihkan ke keadaan semula.
Dalam bucket dengan namespace hierarkis yang diaktifkan, mengganti nama folder adalah hanya metadata. Tindakan ini tidak melibatkan pemindahan atau penyalinan fisik objek di dalam folder, jadi tidak ada biaya penyalinan objek yang dikeluarkan.
Namun, di bucket yang tidak mengaktifkan namespace hierarkis, folder akan disimulasikan. Mengganti nama atau memindahkan folder yang disimulasikan memerlukan penyalinan dan penghapusan setiap objek di dalamnya. Jika folder Anda berisi banyak objek, proses penggantian nama dapat menjadi tidak efisien dan mahal. Mengganti nama atau memindahkan folder yang disimulasikan juga bersifat non-atomik, yang berarti jika prosesnya gagal, bucket Anda mungkin dibiarkan dalam status tidak konsisten, dengan hanya beberapa objek yang dipindahkan.
Selama proses penggantian nama folder, Anda dapat membaca dan membuat daftar resource yang diubah namanya. Namun, Anda tidak dapat menjalankan operasi tulis pada resource yang terpengaruh.
Operasi penggantian nama folder memulai operasi yang berjalan lama di bucket.
Peran yang diperlukan
Untuk mendapatkan izin akses yang diperlukan untuk mengganti nama atau memindahkan folder di
bucket, minta administrator untuk memberi Anda akses
(roles/storage.objectUser
) Peran IAM pada bucket.
Untuk informasi selengkapnya cara memberikan peran pada project, lihat Mengelola akses ke project.
Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
storage.folders.rename
- Izin ini diperlukan di folder sumber.
storage.folders.create
- Izin ini diperlukan di folder tujuan.
Anda juga bisa mendapatkan izin sebelumnya dengan peran khusus lainnya atau peran bawaan. Untuk peran yang lebih permisif yang memungkinkan Anda mengelola folder selain mengganti nama folder, minta administrator Anda untuk memberi Anda salah satu peran berikut:
- Admin Folder Penyimpanan (
roles/storage.folderAdmin
) - Storage Object Admin (
roles/storage.objectAdmin
) - Admin Penyimpanan (
roles/storage.admin
)
Untuk melihat peran yang dikaitkan dengan izin tertentu, lihat Peran IAM untuk Cloud Storage.
Mengganti nama dan memindahkan folder
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi folder yang ingin Anda pindahkan atau ganti namanya.
Di halaman Bucket details, temukan folder yang ingin dipindahkan atau diganti namanya.
Jika Anda ingin mengganti nama folder, lakukan hal berikut:
Klik menu
More actions dari folder.Klik Ganti nama folder.
Di jendela overlay yang muncul, masukkan nama baru untuk folder tersebut.
Klik Ganti nama.
Jika Anda ingin memindahkan folder ke folder lain, lakukan tindakan berikut:
Klik menu
More actions dari folder.Klik Pindahkan folder.
Di jendela overlay yang muncul, klik Jelajahi.
Pilih folder tujuan untuk folder yang akan dipindahkan. Anda juga dapat mengklik
untuk membuat folder baru sebelum Anda memilihnya sebagai folder tujuan.Klik Pilih.
Klik Pindahkan.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Untuk mengganti nama atau memindahkan folder dalam bucket dengan namespace hierarkis, jalankan perintah berikut:
gcloud storage mv gs://BUCKET_NAME/FOLDER1 gs://BUCKET_NAME/FOLDER2
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi folder yang ingin Anda ganti nama atau pindahkan. Contoh,my-bucket
.FOLDER1
adalah nama folder asli yang ingin Anda ganti nama atau pindahkan. Contoh,my-src-folder
.FOLDER2
adalah nama baru folder tujuan. Contoh,my-dest-folder
. Jika nama baru yang Anda pilih sudah digunakan oleh folder yang ada, folder asli akan dipindahkan ke dalam folder yang ada, menjadi folder turunan. Misalnya, jika Anda mengganti namamy-dest-folder
menjadimy-dest-folder1
(danmy-dest-folder1
sudah ada), hasilnya adalahmy-dest-folder1/my-dest-folder/
. Jika nama baru yang Anda pilih belum ada, folder asli akan diganti namanya agar sesuai dengan nama baru.
Responsnya akan terlihat seperti contoh berikut:
Copying gs://my-bucket/my-src-folder to gs://hns-bucket/my-dest-folder...
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Membuat gcloud CLI menginstal dan melakukan inisialisasi, untuk membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan untuk mengganti nama folder:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/folders/SOURCE_PATH/renameTo/folders/DESTINATION_PATH"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi folder yang ingin Anda ganti namanya atau pindahkan. Contoh,my-bucket
.SOURCE_PATH
adalah jalur yang dienkode URL dari folder sumber. Misalnya, URLmy-src-folder/
dienkode sebagaimy-src-folder%2F
.DESTINATION_PATH
adalah jalur folder tujuan yang dienkode URL. Misalnya, URLmy-dest-folder/
dienkode sebagaimy-dest-folder%2F
.
Langkah berikutnya
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Storage dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud Storage gratis