Menghapus versi objek dari bucket dengan dukungan Penentuan Versi - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menghapus versi objek dari bucket dengan dukungan Penentuan Versi

Anda dapat menghapus versi objek dari bucket Amazon S3 kapan pun Anda inginkan. Selain itu, Anda juga dapat menentukan aturan konfigurasi siklus hidup untuk objek yang memiliki siklus hidup yang ditentukan dengan baik guna meminta Amazon S3 untuk menghentikan versi objek saat ini atau menghapus versi objek nonterkini secara permanen. Ketika bucket Anda dalam status Penentuan Versi aktif atau Penentuan Versi ditangguhkan, tindakan konfigurasi siklus hidup bekerja sebagai berikut:

  • Tindakan Expiration berlaku untuk versi objek saat ini. Alih-alih menghapus versi objek saat ini, Amazon S3 mempertahankan versi saat ini sebagai versi bukan saat ini dengan menambahkan penanda hapus, yang kemudian menjadi versi saat ini.

  • Tindakan NoncurrentVersionExpiration tersebut berlaku untuk versi objek nonterkini, dan Amazon S3 secara permanen menghapus versi objek ini. Anda tidak dapat memulihkan kembali objek yang dihapus secara permanen.

Untuk informasi selengkapnya tentang Siklus Hidup S3, lihat Mengelola siklus hidup penyimpanan Anda dan Contoh konfigurasi Siklus Hidup S3.

Untuk melihat berapa banyak versi objek saat ini dan bukan saat ini yang dimiliki bucket, Anda dapat menggunakan metrik Lensa Penyimpanan Amazon S3. Lensa Penyimpanan S3 adalah fitur analisis penyimpanan cloud yang dapat Anda gunakan untuk mendapatkan visibilitas seluruh organisasi ke dalam penggunaan dan aktivitas penyimpanan objek. Untuk informasi selengkapnya, lihat Menggunakan Lensa Penyimpanan S3 untuk mengoptimalkan biaya penyimpanan Anda. Untuk daftar lengkap metrik, lihat glosarium metrik Lensa Penyimpanan S3.

catatan

Tarif Amazon S3 normal berlaku untuk setiap versi objek yang disimpan dan ditransfer, termasuk versi objek noncurrent. Untuk informasi selengkapnya, lihat Harga Amazon S3.

Menghapus kasus penggunaan permintaan

Permintaan DELETE memiliki kasus penggunaan berikut:

  • Saat Penentuan Versi diaktifkan, DELETE sederhana tidak dapat menghapus objek secara permanen. (Permintaan DELETE sederhana adalah permintaan yang tidak menentukan ID versi.) Alih-alih demikian, Amazon S3 memasukkan penanda hapus dalam bucket, dan marker tersebut menjadi versi objek saat ini dengan ID baru.

    Saat Anda mencoba untuk GET objek yang versinya saat ini adalah penanda hapus, Amazon S3 berperilaku seolah-olah objek telah dihapus (meskipun belum dihapus) dan mengembalikan pesan kesalahan 404. Untuk informasi selengkapnya, lihat Bekerja dengan penanda hapus.

    Gambar berikut menunjukkan bahwa DELETE sederhana tidak benar-benar menghapus objek tertentu. Sebaliknya, Amazon S3 menyisipkan penanda hapus.

    Ilustrasi yang menunjukkan penyisipan penanda hapus.
  • Untuk menghapus objek dengan Penentuan Versi secara permanen, Anda harus menggunakan DELETE Object versionId.

    Gambar berikut menunjukkan bahwa menghapus versi objek tertentu secara permanen menghapus objek tersebut.

    Diagram yang menunjukkan bagaimana DELETE Object versionId secara permanen menghapus versi objek tertentu.

Untuk menghapus versi objek

Anda dapat menghapus versi objek di Amazon S3 menggunakan konsol, AWS SDK, REST API, atau file. AWS Command Line Interface

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di dalam daftar Bucket, pilih nama bucket yang berisi objek.

  3. Di daftar Objek, pilih nama objek.

  4. Pilih Versi.

    Amazon S3 menampilkan semua versi untuk objek tersebut.

  5. Pilih kotak centang di samping ID Versi untuk versi yang ingin Anda hapus secara permanen.

  6. Pilih Hapus.

  7. Di Hapus objek secara permanen?, masukkan permanently delete.

    Awas

    Saat Anda menghapus versi objek secara permanen, tindakan itu tidak dapat dibatalkan.

  8. Pilih Hapus objek.

    Amazon S3 menghapus versi objek.

Untuk contoh menghapus objek menggunakan AWS SDK untuk Java, .NET, dan PHP, lihat. Menghapus objek Amazon S3 Contoh untuk menghapus objek dalam bucket tanpa versi dan dengan dukungan Penentuan Versi adalah sama. Namun, untuk bucket dengan dukungan Penentuan Versi, Amazon S3 menetapkan nomor versi. Jika tidak, nomor versi adalah null.

Untuk informasi tentang menggunakan AWS SDK lain, lihat Pusat AWS Pengembang.

Python

Untuk petunjuk tentang cara membuat dan menguji sampel yang berfungsi, lihat Menggunakan AWS SDK for Python (Boto).

Contoh kode Python berikut secara permanen menghapus objek berversi dengan menghapus semua versinya.

def permanently_delete_object(bucket, object_key): """ Permanently deletes a versioned object by deleting all of its versions. Usage is shown in the usage_demo_single_object function at the end of this module. :param bucket: The bucket that contains the object. :param object_key: The object to delete. """ try: bucket.object_versions.filter(Prefix=object_key).delete() logger.info("Permanently deleted all versions of object %s.", object_key) except ClientError: logger.exception("Couldn't delete all versions of %s.", object_key) raise
Untuk menghapus versi objek tertentu
  • Di DELETE, tentukan ID versi.

contoh — Menghapus versi tertentu

Contoh berikut menghapus versi UIORUnfnd89493jJFJ dari photo.gif.

DELETE /photo.gif?versionId=UIORUnfnd89493jJFJ HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Type: text/plain Content-Length: 0

Perintah berikut menghapus objek bernama test.txt dari bucket bernama DOC-EXAMPLE-BUCKET1. Untuk menghapus versi objek tertentu, Anda harus menjadi pemilik bucket dan harus menggunakan subsumber daya Id versi.

aws s3api delete-object --bucket DOC-EXAMPLE-BUCKET1 --key test.txt --version-id versionID

Untuk informasi selengkapnya tentang delete-object, lihat delete-object di Referensi Perintah AWS CLI .

Untuk informasi selengkapnya tentang menghapus versi objek, lihat topik berikut ini: