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 API DELETE panggilan Amazon S3 pada penanda hapus. Untuk melakukan ini, Anda harus membuat DELETE permintaan dengan menggunakan AWS Identity and Access Management (IAM) pengguna 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 hapus tidak terkait dengan nilai access control list (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. Pengkodean 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, silakan lihat Menilai aktivitas penyimpanan dan penggunaan dengan Lensa Penyimpanan Amazon S3 dan Glosarium metrik Lensa Penyimpanan Amazon S3.

Untuk informasi selengkapnya tentang nama kunci, lihat Menamai objek Amazon S3. 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 HeadObjectatau GetObjectAPIoperasi)

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 bagaimana GetObject API panggilan pada objek yang versi saat ini adalah penanda hapus merespons dengan kesalahan 404 (Tidak Ditemukan) dan header respons termasuk. 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 membuat daftar penanda hapus (dan versi lain dari suatu objek) adalah dengan menggunakan versions subsumber daya dalam ListObjectVersionspermintaan. Gambar berikut menunjukkan bahwa a ListObjectsV2 atau ListObjectsrequest tidak mengembalikan objek yang versi saat ini adalah penanda hapus.

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