Halaman ini menjelaskan cara menampilkan daftar, mengakses, memulihkan, dan menghapus objek lama, yang biasanya berlaku untuk bucket dengan fitur Pembuatan Versi Objek diaktifkan.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola objek lama, minta
administrator untuk memberi Anda peran IAM
Storage Object User (roles/storage.objectUser
) pada project tersebut. Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengelola objek lama. Untuk melihat izin
yang 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 berencana menggunakan Konsol Google Cloud untuk melakukan tugas di halaman ini, Anda juga akan memerlukan izin
storage.buckets.list
, yang tidak termasuk 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.Jika akses level bucket seragam dinonaktifkan untuk bucket, Anda memerlukan izin tambahan dalam skenario berikut:
Jika berencana menampilkan objek lama 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.Jika berencana mengganti nama atau memulihkan objek lama 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.
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.
Pada daftar bucket, klik nama bucket yang berisi objek yang diinginkan.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
Buka objek, yang mungkin terletak dalam folder.
Klik nama objek yang diinginkan.
Halaman Object details akan terbuka, dengan tab Live Object dipilih.
Klik tab Version history.
Command line
Gunakan perintah gcloud storage ls --all-versions
:
gcloud storage ls --all-versions gs://BUCKET_NAME
Dengan BUCKET_NAME
yang merupakan nama bucket yang relevan. 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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat 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 Object: 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 relevan. Contoh,my-bucket
.
Versi objek yang tidak terbaru memiliki properti timeDeleted
.
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat 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 XML API, dengan permintaanGET
Bucket 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 relevan. 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 angka
generation
versi lama ke nama objek:OBJECT_NAME#GENERATION_NUMBER
Dengan keterangan:
OBJECT_NAME
adalah nama versi lama. Contoh,pets/dog.png
.GENERATION_NUMBER
adalah nomor pembuatan untuk versi lama. Contohnya,1560468815691234
.
Dengan menggunakan string dari langkah 1, lanjutkan seperti biasa untuk versi aktif objek tersebut.
REST API
JSON API
Tambahkan angka
generation
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. Contohnya,1560468815691234
.
Dengan menggunakan URI dari langkah 1, lanjutkan seperti biasa untuk versi aktif objek tersebut.
XML API
Tambahkan angka
generation
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 1, lanjutkan seperti biasa untuk versi aktif objek tersebut.
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.
Pada 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 tombol Tampilkan data yang dihapus.
Buka objek, yang mungkin terletak dalam folder.
Klik nama objek yang diinginkan.
Halaman Object details akan terbuka, dengan tab Live Object dipilih.
Klik tab Version history.
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. Contoh,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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat 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 permintaanPOST
Object: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
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat 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 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. Misalnya,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.
Pada daftar bucket, klik nama bucket yang berisi objek yang diinginkan.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
Buka objek, yang mungkin terletak dalam folder.
Klik nama objek yang diinginkan.
Halaman Object details akan terbuka, dengan tab Live Object dipilih.
Klik tab Version history.
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 Delete.
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. Misalnya,my-bucket
.OBJECT_NAME
adalah nama versi lama yang ingin Anda hapus. Contoh,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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca 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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat 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 permintaanDELETE
Object: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. Misalnya,1560468815691234
.
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat 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 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 selanjutnya
- 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.