Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menghapus objek Amazon S3
Anda dapat menghapus satu atau beberapa objek langsung dari Amazon S3 menggunakan konsol Amazon S3, AWS SDK, AWS Command Line Interface (AWS CLI), atau REST API. Misalnya, jika Anda mengumpulkan file log, sebaiknya hapus file tersebut saat tidak diperlukan lagi. Anda dapat mengatur aturan Siklus Hidup S3 untuk secara otomatis menghapus objek seperti file log.
Untuk menghapus objek, Anda dapat menggunakan salah satu operasi API berikut:
-
Delete a single object–Amazon S3 menyediakan operasi API
DELETE(DeleteObject) yang dapat Anda gunakan untuk menghapus satu objek dalam satu permintaan HTTP. -
Hapus beberapa objek — Amazon S3 menyediakan operasi API Multi-Object Delete (
DeleteObjects) yang dapat Anda gunakan untuk menghapus hingga 1.000 objek dalam satu permintaan HTTP.
Saat menghapus objek dari bucket yang tidak diaktifkan versi, Anda hanya memberikan nama kunci objek. Namun, saat menghapus objek dari bucket yang diaktifkan versi, Anda dapat memberikan ID versi objek untuk menghapus versi objek tertentu.
Praktik terbaik untuk dipertimbangkan sebelum menghapus objek
Sebelum Anda menghapus objek, pertimbangkan praktik terbaik berikut:
-
Aktif kan pembuatan versi bucket. S3 Versioning menambahkan perlindungan terhadap
DeleteObjectpermintaan sederhana untuk mencegah penghapusan yang tidak disengaja. Untuk bucket berversi, jika Anda menghapus versi objek saat ini atau ketika permintaan penghapusan tidak menentukan Id versi tertentu, Amazon S3 tidak menghapus objek secara permanen. Sebagai gantinya, S3 menambahkan penanda hapus, mengeluarkan penghapusan lunak objek. Penanda hapus kemudian menjadi versi objek saat ini (atau terbaru) dengan ID versi baru. Untuk informasi selengkapnya, lihat Menghapus versi objek dari bucket yang diaktifkan versi. -
Jika Anda ingin menghapus sejumlah besar objek, atau menghapus objek secara terprogram berdasarkan tanggal pembuatan objek, tetapkan konfigurasi Siklus Hidup S3 pada bucket Anda. Untuk memantau penghapusan ini, sebaiknya gunakan notifikasi peristiwa Siklus Hidup S3. Saat Anda mengonfigurasi notifikasi Siklus Hidup S3, jenis
s3:LifecycleExpiration:Deleteperistiwa akan memberi tahu Anda saat objek dalam bucket dihapus. Ini juga memberi tahu Anda ketika versi objek dihapus secara permanen oleh konfigurasi Siklus Hidup S3. Jeniss3:LifecycleExpiration:DeleteMarkerCreatedacara memberi tahu Anda saat S3 Lifecycle membuat penanda hapus. Penanda hapus dibuat ketika versi objek saat ini dalam bucket berversi dihapus. -
Sebelum membuat pembaruan apa pun pada konfigurasi Siklus Hidup S3 Anda, konfirmasikan bahwa Siklus Hidup telah menyelesaikan tindakan pada semua objek yang dimaksud. Untuk informasi selengkapnya, lihat bagian Memperbarui, menonaktifkan, atau menghapus aturan Siklus Hidup di Mengatur konfigurasi Siklus Hidup S3 pada bucket.
catatan
Aturan Siklus Hidup S3 harus berlaku untuk subset objek yang tepat untuk mencegah penghapusan yang tidak diinginkan. Anda dapat memfilter objek berdasarkan awalan, tag objek, atau ukuran objek saat membuat aturan Siklus hidup.
-
Pertimbangkan untuk membatasi pengguna untuk menghapus atau menghapus objek dari bucket Anda. Untuk membatasi pengguna, Anda harus secara eksplisit menolak pengguna izin untuk tindakan berikut dalam kebijakan bucket Amazon S3 Anda:
-
s3:DeleteObject,s3:DeleteObjectVersion(untuk mengontrol siapa yang dapat menghapus objek menggunakan permintaan API) -
s3:PutLifecycleConfiguration(untuk mengontrol siapa yang dapat menambahkan aturan kedaluwarsa Siklus Hidup S3)
-
-
Pertimbangkan untuk menggunakan Replikasi S3 untuk membuat beberapa salinan data Anda dan mereplikasinya ke beberapa lokasi sekaligus. Anda dapat memilih bucket tujuan sebanyak yang diperlukan. Selain itu, jika objek dihapus secara tidak sengaja, Anda masih akan memiliki salinan data.
-
Hindari mengirim ID versi objek ke bucket yang tidak diberi versi. Juga, pastikan untuk mengatur
s3:DeleteObjectVersionizins3:DeleteObjectdan izin dengan benar pada semua bucket (termasuk bucket tanpa versi).
Menghapus objek dari bucket yang diaktifkan versi
Jika bucket Anda mengaktifkan versi, beberapa versi dari objek yang sama dapat ada di bucket. Saat bekerja dengan bucket berkemampuan versi, operasi Delete API mengaktifkan opsi berikut:
-
Tentukan permintaan penghapusan non-versi–Menentukan hanya kunci objek, dan bukan ID versi. Dalam hal ini, Amazon S3 membuat penanda hapus di atas versi objek saat ini dan mengembalikan ID versinya dalam respons. Ini akan menghilangkan objek Anda dari bucket tersebut. Untuk informasi tentang pembuatan Penentuan Versi objek dan konsep penanda hapus, lihat Mempertahankan beberapa versi objek dengan S3 Versioning.
-
Tentukan permintaan penghapusan berversi — Tentukan kunci dan ID versi. Dalam hal ini, hasil berikut dimungkinkan:
-
Jika ID versi memetakan ke versi objek tertentu, Amazon S3 menghapus versi objek tertentu.
-
Jika ID versi dipetakan ke penanda hapus objek, Amazon S3 menghapus penanda hapus. Ketika penanda hapus dihapus, objek kemudian muncul kembali di bucket Anda.
-
Menghapus objek dari bucket yang ditangguhkan versi
Jika bucket Anda ditangguhkan versi, operasi Delete API berperilaku dengan cara yang sama untuk bucket yang diaktifkan versi (kecuali jika versi saat ini memiliki ID versi null). Untuk informasi selengkapnya, lihat Menghapus objek dari bucket dengan Penentuan Versi ditangguhkan.
Menghapus objek dari bucket tanpa versi
Jika bucket Anda tidak memiliki versi, Anda dapat menentukan kunci objek dalam operasi Delete API dan Amazon S3 akan menghapus objek secara permanen. Untuk mencegah penghapusan permanen objek, aktifkan pembuatan versi bucket.
Untuk bucket tanpa versi, jika s3:DeleteObjectVersion izin s3:DeleteObject or ditolak secara eksplisit dalam kebijakan bucket Anda, maka DeleteObjectVersion permintaan apa punDeleteObject,DeleteObjects, atau akan mengaki 403 Access Denied batkan kesalahan.
Menghapus objek dari MFA-enabled bucket
Saat menghapus objek dari bucket yang mengaktifkan autentikasi multi-faktor (MFA), perhatikan hal berikut:
-
Jika Anda menyediakan token MFA yang tidak valid, permintaan akan selalu gagal.
-
Jika Anda memiliki MFA-enabled bucket dan membuat permintaan penghapusan berversi (Anda memberikan kunci objek dan ID versi), permintaan gagal jika Anda tidak memberikan token MFA yang valid. Selain itu, saat menggunakan operasi
DeleteAPI multi-objek pada MFA-enabled bucket, jika salah satu penghapusan adalah permintaan penghapusan berversi (yaitu, Anda menentukan kunci objek dan ID versi), seluruh permintaan gagal jika Anda tidak memberikan token MFA.
Namun, dalam kasus berikut, permintaan berhasil:
-
Jika Anda memiliki MFA-enabled bucket dan membuat permintaan penghapusan tanpa versi (Anda tidak menghapus objek berversi), dan Anda tidak memberikan token MFA, penghapusan berhasil.
-
Jika Anda memiliki permintaan Multi-Object Delete yang hanya menentukan objek tanpa versi untuk dihapus dari MFA-enabled bucket dan Anda tidak memberikan token MFA, penghapusan berhasil.
Untuk informasi tentang penghapusan MFA, lihat Mengonfigurasi penghapusan MFA.