Bekerja dengan penanda hapus - Amazon Simple Storage Service

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

Bekerja dengan penanda hapus

Penanda hapus di Amazon S3 adalah placeholder (atau penanda) untuk objek berversi yang ditentukan dalam permintaan DELETE sederhana. Permintaan DELETE sederhana adalah permintaan yang tidak menentukan ID versi. Karena objek berada dalam bucket dengan dukungan Penentuan Versi, objek tidak dihapus. Namun, penanda hapus membuat Amazon S3 berperilaku seolah-olah objek telah dihapus. Anda dapat menggunakan panggilan DELETE API Amazon S3 pada penanda hapus. Untuk melakukan ini, Anda harus membuat DELETE permintaan dengan menggunakan pengguna AWS Identity and Access Management (IAM) atau peran dengan izin yang sesuai.

Penanda hapus memiliki nama kunci (atau kunci) dan ID versi seperti objek lainnya. Namun, penanda hapus berbeda dengan objek lain dalam hal berikut:

  • Penanda hapus tidak memiliki data yang terkait dengannya.

  • Penanda penghapusan tidak terkait dengan nilai daftar kontrol akses (ACL).

  • Jika Anda mengeluarkan permintaan GET untuk penanda hapus, permintaan GET tidak mengambil apa pun karena penanda hapus tidak memiliki data. Khususnya, ketika permintaan GET Anda tidak menentukan versionId, Anda mendapatkan pesan kesalahan 404 (Tidak Ditemukan).

Penanda hapus menambah sedikit biaya penyimpanan di Amazon S3. Ukuran penyimpanan penanda hapus sama dengan ukuran nama kunci dari penanda hapus. Nama kunci adalah deretan karakter Unicode. Pengodean UTF-8 untuk nama kunci menambahkan 1-4 byte penyimpanan ke bucket Anda untuk setiap karakter dalam nama. Penanda hapus disimpan di kelas penyimpanan S3 Standard.

Jika ingin mengetahui berapa banyak penanda hapus yang Anda miliki dan kelas penyimpanan apa yang disimpan, Anda dapat menggunakan Lensa Penyimpanan Amazon S3. Untuk informasi selengkapnya, lihat Menilai aktivitas penyimpanan dan penggunaan Anda dengan Amazon S3 Storage Lens dan Glosarium metrik Amazon S3 Storage Lens.

Untuk informasi selengkapnya tentang nama kunci, lihat Membuat nama kunci objek. Untuk informasi tentang menghapus penanda hapus, lihat Mengelola penanda hapus.

Hanya Amazon S3 yang dapat membuat penanda hapus, dan hal ini dilakukan setiap kali Anda mengirim permintaan DeleteObject atas objek dalam bucket dengan dukungan Penentuan Versi atau Penentuan Versi ditangguhkan. Objek yang ditentukan dalam permintaan DELETE tidak benar-benar dihapus. Alih-alih demikian, penanda hapus menjadi versi objek saat ini. Nama kunci objek (atau kunci) menjadi kunci dari penanda hapus.

Saat Anda mendapatkan objek tanpa menentukan versionId dalam permintaan, jika versinya saat ini adalah penanda hapus, Amazon S3 akan merespons dengan berikut:

  • Pesan kesalahan 404 (Tidak Ditemukan)

  • Header respons, x-amz-delete-marker: true

Saat Anda mendapatkan objek dengan menentukan versionId dalam permintaan, jika versi yang ditentukan adalah penanda hapus, Amazon S3 akan merespons dengan berikut:

  • Pesan kesalahan 405 (Metode Tidak Diizinkan)

  • Header respons, x-amz-delete-marker: true

  • Header respons, Last-Modified: timestamp (hanya saat menggunakan operasi HeadObjectatau GetObjectAPI)

Header respons x-amz-delete-marker: true memberi tahu bahwa objek yang diakses adalah penanda hapus. Header respons ini tidak pernah mengembalikan false, karena ketika nilainya adalah false, versi objek saat ini atau yang ditentukan bukanlah penanda hapus.

Header respons Last-Modified menyediakan waktu pembuatan penanda hapus.

Gambar berikut menunjukkan cara panggilan API GetObject pada sebuah objek yang versinya saat ini adalah penanda hapus merespons dengan pesan kesalahan 404 (Tidak Ditemukan) dan header respons menyertakan x-amz-delete-marker: true.

Ilustrasi yang menunjukkan panggilan GetObject untuk penanda hapus yang menampilkan pesan kesalahan 404 (Tidak Ditemukan).

Jika Anda melakukan panggilan GetObject pada objek dengan menentukan versionId dalam permintaan Anda, dan jika versi yang ditentukan adalah penanda hapus, Amazon S3 merespons dengan pesan kesalahan 405 (Metode Tidak Diizinkan) dan header respons menyertakan x-amz-delete-marker: true dan Last-Modified: timestamp.

Ilustrasi yang menunjukkan GetObject panggilan untuk penanda hapus yang mengembalikan kesalahan 405 (Metode Tidak Diizinkan).

Satu-satunya cara untuk mencantumkan penanda hapus (dan versi lain dari objek) adalah dengan menggunakan subsumber daya versions di permintaan ListObjectVersions. Gambar berikut menunjukkan bahwa permintaan ListObjectsV2 atau ListObjects tidak mengembalikan objek yang versinya saat ini adalah penanda hapus.

Ilustrasi yang menunjukkan bagaimana ListObjects panggilan ListObjectsV2 atau tidak mengembalikan penanda penghapusan apa pun.