Halaman ini menjelaskan cara mengganti nama dan memindahkan folder di bucket dengan namespace hierarkis yang diaktifkan.
Operasi ganti nama secara rekursif mengganti nama folder, folder turunannya, dan resource terkait, termasuk objek dan folder terkelola dalam satu tindakan atomik.
Operasi penggantian nama bersifat atomik. Operasi berhasil diselesaikan dan memindahkan resource ke jalur barunya atau gagal dengan error. Jika terjadi error, semua resource akan dipulihkan ke status aslinya.
Di bucket dengan namespace hierarkis yang diaktifkan, mengganti nama folder adalah operasi khusus metadata. Tindakan ini tidak melibatkan pemindahan atau penyalinan objek secara fisik dalam folder, sehingga tidak ada biaya penyalinan objek yang akan dikenakan.
Namun, di bucket tanpa namespace hierarkis yang diaktifkan, folder akan disimulasikan. Mengganti nama atau memindahkan folder simulasi 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 simulasi juga bersifat non-atomik, yang berarti jika proses gagal, bucket Anda mungkin akan dibiarkan dalam status yang tidak konsisten, dengan hanya beberapa objek yang dipindahkan.
Selama proses penggantian nama folder, Anda dapat membaca dan mencantumkan resource yang diganti 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 yang diperlukan guna mengganti nama atau memindahkan folder di bucket, minta administrator untuk memberi Anda peran IAM Storage Object User (roles/storage.objectUser
) di bucket.
Untuk mengetahui informasi selengkapnya tentang 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 atau peran standar lainnya. Untuk peran yang lebih permisif yang memungkinkan Anda mengelola folder selain mengganti nama folder, minta administrator untuk memberi Anda salah satu peran berikut:
- Storage Folder Admin (
roles/storage.folderAdmin
) - Storage Object Admin (
roles/storage.objectAdmin
) - Storage Admin (
roles/storage.admin
)
Untuk melihat peran mana yang terkait dengan izin apa, 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 dipindahkan atau diganti namanya.
Di halaman Bucket details, temukan folder yang ingin dipindahkan atau diganti namanya.
Jika Anda ingin mengganti nama folder, lakukan hal berikut:
Klik menu Tindakan lainnya
folder.Klik Ganti nama folder.
Di jendela overlay yang muncul, masukkan nama baru untuk folder.
Klik Ganti nama.
Jika Anda ingin memindahkan folder ke folder lain, lakukan langkah-langkah berikut:
Klik menu Tindakan lainnya
folder.Klik Pindahkan folder.
Di jendela overlay yang muncul, klik Jelajahi.
Pilih folder tujuan untuk folder yang Anda pindahkan. Anda juga dapat mengklik
untuk membuat folder baru sebelum 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 gcloud storage mv
:
gcloud storage mv gs://BUCKET_NAME/FOLDER1 gs://BUCKET_NAME/FOLDER2
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi folder yang ingin diganti namanya atau dipindahkan. Contoh,my-bucket
.FOLDER1
adalah nama folder asli yang ingin Anda ganti namanya 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 cocok 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 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 library klien.
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 library klien.
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 library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
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 library klien.
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 library klien.
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 library klien.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk 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 folder sumber yang dienkode ke URL. Misalnya,my-src-folder/
dienkode URL sebagaimy-src-folder%2F
.DESTINATION_PATH
adalah jalur folder tujuan yang dienkode URL. Misalnya,my-dest-folder/
dienkode URL 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