Penanda hapus adalah placeholder yang dibuat melalui permintaan DeleteObject. Penanda ini menunjukkan bahwa sebuah objek dalam bucket dengan versi diaktifkan atau ditangguhkan telah dihapus. Memahami penanda hapus penting untuk pengelolaan versi secara efektif, karena memungkinkan pelacakan dan pemulihan data yang akurat.
Perbandingan dengan objek
Penanda hapus memiliki nama objek (atau kunci) dan ID versi seperti halnya objek, tetapi berbeda dalam aspek berikut:
Penanda hapus tidak menyimpan data.
Penanda hapus tidak memiliki daftar kontrol akses (ACL) yang dikonfigurasi.
Karena tidak ada data yang disimpan dalam penanda hapus, permintaan GetObject tidak akan menghasilkan konten apa pun. Jika Anda mengirimkan permintaan GetObject ke objek dengan penanda hapus sebagai versi saat ini, respons 404 dan pesan kesalahan yang sesuai akan dikembalikan.
Hanya pengguna dengan izin
oss:DeleteObjectVersionyang dapat melakukan operasi penghapusan pada penanda hapus.
Saat Anda mengirimkan permintaan DeleteObject ke objek dalam bucket dengan versi diaktifkan atau ditangguhkan, penanda hapus dibuat untuk objek tersebut. Jika Anda tidak menentukan ID versi objek yang akan dihapus, Object Storage Service (OSS) menetapkan penanda hapus ke objek sebagai versi saat ini tanpa menghapus objek tersebut.
Anda tidak dapat menghapus objek yang disimpan dalam bucket dengan versi diaktifkan. Namun, objek dengan penanda hapus dapat dianggap sebagai objek yang dihapus.
Hapus penanda hapus
Berikut ini menjelaskan cara menghapus penanda hapus untuk bucket dengan versi diaktifkan:
Jika Anda tidak menentukan ID versi objek dalam permintaan DeleteObject, OSS menetapkan penanda hapus baru ke objek sebagai versi saat ini. Gambar berikut menunjukkan bahwa sebuah objek dapat memiliki beberapa penanda hapus.
Dalam bucket dengan versi diaktifkan, sebuah objek dapat memiliki beberapa penanda hapus, dan setiap penanda hapus sesuai dengan ID versi unik.
Untuk menghapus permanen penanda hapus, Anda harus menyertakan ID versinya dalam permintaan DeleteObject. Gambar berikut menunjukkan bagaimana permintaan DeleteObject secara permanen menghapus penanda hapus dengan ID versi 333333. Kemudian, versi 222222 menjadi versi saat ini dari objek tersebut.
Anda dapat menggunakan SDK OSS berikut untuk berbagai bahasa pemrograman guna menghapus versi tertentu dari objek dan penanda hapus objek tersebut: Java SDK, Python SDK, PHP SDK, Node.js SDK, .NET SDK, Go SDK, dan C++ SDK.