Halaman ini menjelaskan cara mencantumkan, mengakses, memulihkan, dan menghapus objek lama, yang biasanya berlaku untuk bucket yang memiliki fitur Pembuatan Versi Objek diaktifkan.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengelola objek non-aktual, minta administrator untuk memberi Anda peran IAM Storage Object User (roles/storage.objectUser
) di project. Peran bawaan ini berisi izin yang diperlukan untuk mengelola objek non-aktual. Untuk melihat izin
yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus.
Untuk mengetahui informasi tentang cara memberikan peran pada project, lihat Mengelola akses ke project.
Bergantung pada kasus penggunaan, Anda mungkin memerlukan izin tambahan atau peran alternatif:
Jika Anda berencana menggunakan konsol Google Cloud untuk melakukan tugas di halaman ini, Anda juga memerlukan izin
storage.buckets.list
, yang tidak disertakan dalam peran Storage Object User (roles/storage.objectUser
). Untuk mendapatkan izin ini, minta administrator untuk memberi Anda peran Storage Admin (roles/storage.admin
) di project tersebut.Jika akses level bucket yang seragam dinonaktifkan untuk bucket Anda, Anda memerlukan izin tambahan dalam skenario berikut:
Jika berencana menampilkan objek non-aktual beserta ACL-nya, Anda juga memerlukan izin
storage.objects.getIamPolicy
, yang tidak disertakan dalam peran Storage Object User (roles/storage.objectUser
). Untuk mendapatkan izin ini, minta administrator untuk memberi Anda peran Storage Object Admin (roles/storage.objectAdmin
) di project tersebut.Jika berencana mengganti nama atau memulihkan objek non-aktual yang memiliki ACL, Anda juga memerlukan izin
storage.objects.setIamPolicy
, yang tidak disertakan dalam peran Storage Object User (roles/storage.objectUser
). Untuk mendapatkan izin ini, minta administrator untuk memberi Anda peran Storage Object Admin (roles/storage.objectAdmin
) di project tersebut.
Mencantumkan versi objek lama
Untuk mencantumkan versi objek aktif dan lama serta melihat
angka generation
nya:
Konsol
- Di konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi objek yang diinginkan.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
Untuk melihat objek lama, klik drop-down Tampilkan, lalu pilih Objek aktif dan lama.
Dalam daftar objek, klik nama objek yang versinya ingin Anda lihat.
Halaman Detail objek akan terbuka, dan tab Objek Live dipilih.
Klik tab Histori versi untuk melihat semua versi objek.
Command line
Gunakan perintah gcloud storage ls --all-versions
:
gcloud storage ls --all-versions gs://BUCKET_NAME
Dengan BUCKET_NAME
adalah nama bucket yang berisi objek. Contoh, my-bucket
.
Responsnya akan terlihat seperti contoh berikut:
gs://BUCKET_NAME/OBJECT_NAME1#GENERATION_NUMBER1 gs://BUCKET_NAME/OBJECT_NAME2#GENERATION_NUMBER2 gs://BUCKET_NAME/OBJECT_NAME3#GENERATION_NUMBER3 ...
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 Objects: list:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o?versions=true"
Dengan
BUCKET_NAME
adalah nama bucket yang berisi objek. Contoh,my-bucket
.
Versi objek yang tidak terbaru memiliki properti timeDeleted
.
XML API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil XML API, dengan permintaan BucketGET
dan parameter string kueriversions
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?versions&list-type=2"
Dengan
BUCKET_NAME
adalah nama bucket yang berisi objek. Contoh,my-bucket
.
Ada beberapa perbedaan dalam hasil permintaan GET
saat
menggunakan parameter kueri versions
dibandingkan dengan tidak menggunakannya.
Secara khusus, Cloud Storage menampilkan informasi berikut saat Anda menyertakan parameter kueri versions
dalam permintaan Anda:
- Elemen
Version
yang berisi informasi tentang setiap objek. - Elemen
DeletedTime
yang berisi waktu saat versi objek menjadi tidak aktif (dihapus atau diganti). - Elemen `IsLatest yang menunjukkan apakah objek tertentu adalah versi terbaru.
- Elemen
NextGenerationMarker
ditampilkan jika listingan objek adalah listingan sebagian, yang terjadi ketika Anda memiliki banyak versi objek dalam bucket. Gunakan nilai elemen ini dalam parameter kuerigenerationmarker
dari permintaan berikutnya untuk melanjutkan dari titik terakhir. Parameter kuerigenerationmarker
digunakan dengan cara yang sama seperti Anda menggunakan parameter kuerimarker
untuk membuka halaman melalui listingan untuk bucket tanpa versi.
Mengakses versi objek lama
Untuk menggunakan versi lama suatu objek saat melakukan tugas seperti mendownload objek, melihat metadatanya, atau memperbarui metadatanya:
Konsol
Akses umum ke versi lama tidak tersedia di konsol Google Cloud. Dengan menggunakan konsol Google Cloud, Anda hanya dapat memindahkan, menyalin, memulihkan, atau menghapus versi lama. Tindakan ini dilakukan dari daftar histori versi untuk sebuah objek.
Command line
Tambahkan nomor pembuatan versi lama ke nama objek:
OBJECT_NAME#GENERATION_NUMBER
Dengan keterangan:
OBJECT_NAME
adalah nama versi lama. Contohnya,pets/dog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama. Contoh,1560468815691234
.
Dengan menggunakan string dari langkah sebelumnya, lanjutkan seperti biasa untuk versi aktif objek tersebut. Misalnya, untuk melihat metadata versi objek yang tidak berlaku saat ini, gunakan perintah
gcloud storage objects describe
:gcloud storage objects describe gs://my-bucket/pets/dog.png#1560468815691234
REST API
JSON API
Tambahkan nomor pembuatan versi lama ke URI untuk objek:
https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi versi lama. Contohnya,my-bucket
.OBJECT_NAME
adalah nama yang dienkode ke URL dari versi lama. Misalnya,pets/dog.png
, dienkode URL sebagaipets%2Fdog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama. Contoh,1560468815691234
.
Dengan menggunakan URI dari langkah sebelumnya, lanjutkan seperti biasa untuk versi aktif objek tersebut. Misalnya, untuk melihat metadata versi objek yang tidak berlaku, gunakan cURL untuk memanggil JSON API dengan permintaan Objects: get:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/my-bucket/o/pets/dog.png?generation=1560468815691234"
XML API
Tambahkan nomor pembuatan versi lama ke URI untuk objek:
https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi versi lama. Contohnya,my-bucket
.OBJECT_NAME
adalah nama yang dienkode ke URL dari versi lama. Misalnya,pets/dog.png
, dienkode URL sebagaipets%2Fdog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama. Contoh,1560468815691234
.
Dengan menggunakan URI dari langkah sebelumnya, lanjutkan seperti biasa untuk versi aktif objek tersebut. Misalnya, untuk melihat metadata versi objek yang tidak berlaku, gunakan
cURL
untuk memanggil XML API dengan permintaan ObjekHEAD
:curl -I GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/my-bucket/pets/dog.png?generation=1560468815691234"
Memulihkan versi objek lama
Di Cloud Storage, memulihkan versi objek lama berarti membuat salinannya. Jika Anda melakukannya, salinan akan menjadi versi aktif, yang sama dengan memulihkan versi tersebut. Jika sudah ada versi aktif dan bucket telah mengaktifkan Pembuatan Versi Objek, memulihkan versi lama akan menyebabkan versi aktif yang sudah ada menjadi versi lama.
Konsol
- Di konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi objek yang diinginkan.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
Untuk melihat objek lama, klik drop-down Tampilkan, lalu pilih Objek aktif dan lama.
Dalam daftar objek, klik nama versi objek yang ingin Anda aktifkan.
Halaman Detail objek akan terbuka, dan tab Objek Live dipilih.
Klik tab Histori versi.
Klik tombol Pulihkan untuk versi yang diinginkan.
Panel versi objek pemulihan akan terbuka.
Klik Confirm.
Command line
Gunakan perintah gcloud storage cp
:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER gs://BUCKET_NAME/OBJECT_NAME
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi versi lama yang ingin Anda pulihkan. Contohnya,my-bucket
.OBJECT_NAME
adalah nama versi lama yang ingin Anda pulihkan. Contohnya,pets/dog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama yang ingin Anda pulihkan. Contohnya,1560468815691234
.
Jika berhasil, responsnya akan terlihat seperti contoh berikut:
Operation completed over 1 objects/58.8 KiB.
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 ObjekPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME?sourceGeneration=GENERATION_NUMBER"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi versi lama yang ingin Anda pulihkan. Contohnya,my-bucket
.OBJECT_NAME
adalah nama yang dienkode URL dari versi lama yang ingin Anda pulihkan. Misalnya,pets/dog.png
, dienkode URL sebagaipets%2Fdog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama yang ingin Anda pulihkan. Contohnya,1560468815691234
.
XML API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil XML API, dengan permintaan ObjekPUT
:curl -X PUT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-copy-source: BUCKET_NAME/OBJECT_NAME" \ -H "x-goog-copy-source-generation:GENERATION_NUMBER" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi versi lama yang ingin Anda pulihkan. Contohnya,my-bucket
.OBJECT_NAME
adalah nama yang dienkode URL dari versi lama yang ingin Anda pulihkan. Misalnya,pets/dog.png
, dienkode URL sebagaipets%2Fdog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama yang ingin Anda pulihkan. Contohnya,1560468815691234
.
Setelah memulihkan versi objek, versi lama yang asli akan terus ada di bucket. Jika tidak lagi memerlukan versi lama, Anda dapat menghapusnya atau mengonfigurasi Pengelola Siklus Hidup Objek untuk menghapusnya jika memenuhi kondisi yang Anda tentukan.
Menghapus versi objek lama
Konsol
- Di konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi objek yang diinginkan.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
Untuk melihat objek lama, klik drop-down Tampilkan, lalu pilih Objek aktif dan lama.
Buka objek, yang mungkin terletak dalam folder.
Dalam daftar objek, klik nama objek yang versinya ingin Anda hapus.
Halaman Detail objek akan terbuka, dan tab Objek Live dipilih.
Klik tab Histori versi.
Centang kotak untuk versi yang diinginkan.
Klik tombol Hapus.
Panel hapus versi akan terbuka.
Konfirmasi bahwa Anda ingin menghapus objek dengan mengetikkan
delete
ke dalam kolom teks.Klik Hapus.
Command line
Gunakan perintah gcloud storage rm
:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME#GENERATION_NUMBER
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi versi lama yang ingin Anda hapus. Contohnya,my-bucket
.OBJECT_NAME
adalah nama versi lama yang ingin Anda hapus. Contohnya,pets/dog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama yang ingin Anda hapus. Contohnya,1560468815691234
.
Jika berhasil, responsnya akan terlihat seperti contoh berikut:
Operation completed over 1 objects.
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 ObjekDELETE
:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?generation=GENERATION_NUMBER"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi versi lama yang ingin Anda hapus. Contohnya,my-bucket
.OBJECT_NAME
adalah nama yang dienkode URL dari versi lama yang ingin Anda hapus. Misalnya,pets/dog.png
, dienkode URL sebagaipets%2Fdog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama yang ingin Anda hapus. Contohnya,1560468815691234
.
XML API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil XML API, dengan permintaan ObjekDELETE
:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?generation=GENERATION_NUMBER"
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi versi lama yang ingin Anda hapus. Contohnya,my-bucket
.OBJECT_NAME
adalah nama yang dienkode URL dari versi lama yang ingin Anda hapus. Misalnya,pets/dog.png
, dienkode URL sebagaipets%2Fdog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama yang ingin Anda hapus. Contohnya,1560468815691234
.
Langkah berikutnya
- Pelajari Pembuatan Versi Objek lebih lanjut, termasuk contoh mendetail.
- Mengaktifkan atau menonaktifkan Pembuatan Versi Objek di bucket.
- Pelajari cara menggunakan Pengelola Siklus Hidup Objek untuk mengelola versi objek secara otomatis.