Cara kerja Penentuan Versi S3 - Amazon Simple Storage Service

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

Cara kerja Penentuan Versi S3

Gunakan Penentuan Versi S3 untuk menyimpan beberapa versi dari sebuah objek di dalam satu bucket sehingga Anda dapat memulihkan objek yang terhapus atau ditimpa secara tidak sengaja. Misalnya, jika Anda menerapkan Penentuan Versi S3 ke bucket, perubahan berikut akan terjadi:

  • Jika Anda menghapus objek, alih-alih menghapus objek secara permanen, Amazon S3 menyisipkan penanda hapus yang menjadi versi objek saat ini. Anda dapat selalu memulihkan versi sebelumnya. Untuk informasi selengkapnya, lihat Menghapus versi objek dari bucket dengan dukungan Penentuan Versi.

  • Jika Anda menimpa sebuah objek, Amazon S3 akan menambahkan versi objek baru dalam bucket. Versi sebelumnya tetap ada di bucket dan menjadi versi lama. Anda dapat selalu memulihkan versi sebelumnya.

catatan

Tarif normal Amazon S3 berlaku untuk setiap versi objek yang disimpan dan ditransfer. Setiap versi objek adalah seluruh objek; bukan hanya sebuah diff dari versi sebelumnya. Dengan demikian, jika memiliki tiga versi objek yang disimpan, Anda akan dikenakan biaya untuk tiga objek.

Setiap bucket S3 yang Anda buat memiliki subsumber daya Penentuan Versi yang terkait dengannya. (Untuk informasi selengkapnya, lihat Opsi konfigurasi bucket.) Secara default, bucket Anda tanpa versi, dan subsumber daya Penentuan Versi menyimpan konfigurasi Penentuan Versi yang kosong, sebagai berikut.

<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> </VersioningConfiguration>

Untuk mengaktifkan Penentuan Versi, Anda dapat mengirimkan permintaan ke Amazon S3 dengan konfigurasi Penentuan Versi yang menyertakan status Enabled.

<VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Status>Enabled</Status> </VersioningConfiguration>

Untuk menangguhkan Penentuan Versi, Anda menetapkan nilai status ke Suspended.

catatan

Saat Anda mengaktifkan Penentuan Versi pada bucket untuk pertama kalinya, mungkin diperlukan beberaoa saat agar perubahan dapat dilakukan sepenuhnya. Kami menyarankan Anda menunggu selama 15 menit setelah mengaktifkan Penentuan Versi sebelum mengeluarkan operasi tulis (PUT atau DELETE) pada objek di dalam bucket.

Pemilik bucket dan semua pengguna authorized AWS Identity and Access Management (IAM) dapat mengaktifkan pembuatan versi. Pemilik ember adalah Akun AWS yang menciptakan ember. Untuk informasi selengkapnya tentang izin, lihat Identity and Access Management untuk Amazon S3.

Untuk informasi selengkapnya tentang mengaktifkan dan menonaktifkan Versi S3 dengan menggunakan AWS Management Console, AWS Command Line Interface ()AWS CLI, atau, lihat. REST API Mengaktifkan Penentuan Versi pada bucket

Versi IDs

Jika Anda mengaktifkan Penentuan Versi untuk bucket, Amazon S3 secara otomatis menghasilkan ID versi unik untuk objek yang sedang disimpan. Misalnya, dalam satu ember Anda dapat memiliki dua objek dengan kunci yang sama (nama objek) tetapi versi yang berbedaIDs, seperti photo.gif (versi 111111) dan photo.gif (versi 121212).

Diagram yang menggambarkan bucket berkemampuan versi yang memiliki dua objek dengan kunci yang sama tetapi versi yang berbeda. IDs

Setiap objek memiliki ID versi, terlepas dari apakah Penentuan Versi S3 diaktifkan atau tidak. Jika Penentuan Versi S3 tidak diaktifkan, Amazon S3 menetapkan nilai ID versi ke null. Jika Penentuan Versi S3 diaktifkan, Amazon S3 akan menetapkan nilai ID versi untuk objek tersebut. Nilai ini membedakan objek dengan versi lain dari kunci yang sama.

Saat Anda mengaktifkan Penentuan Versi S3 pada bucket yang sudah ada, objek yang sudah disimpan dalam bucket tidak akan berubah. Versi IDs (null), konten, dan izinnya tetap sama. Setelah Anda mengaktifkan Penentuan Versi S3, setiap objek yang ditambahkan ke bucket akan mendapatkan sebuah ID versi, yang membedakannya dengan versi lain dari kunci yang sama.

Hanya Amazon S3 yang menghasilkan versiIDs, dan mereka tidak dapat diedit. Versi IDs Unicode, UTF -8 encoded, URL -ready, string buram yang panjangnya tidak lebih dari 1.024 byte. Berikut adalah contohnya:

3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo

catatan

Untuk kesederhanaan, contoh lain dalam topik ini menggunakan jauh lebih pendekIDs.

Alur kerja Penentuan Versi

Saat Anda PUT sebuah objek dalam sebuah bucket dengan dukungan Penentuan Versi, versi nonterkini tidak ditimpa. Seperti yang ditunjukkan pada gambar berikut, ketika versi photo.gif baru PUT ke dalam bucket yang sudah berisi objek dengan nama yang sama, perilaku berikut terjadi:

  • Objek asli (ID = 111111) tetap berada di bucket.

  • Amazon S3 menghasilkan ID versi baru (121212), dan menambahkan versi objek yang lebih baru ini ke bucket.

Diagram yang menggambarkan cara kerja Penentuan Versi S3 ketika Anda PUT sebuah objek dalam bucket dengan dukungan Penentuan Versi.

Dengan fungsi ini, Anda dapat mengambil versi objek sebelumnya jika objek telah ditimpa atau dihapus secara tidak sengaja.

Saat Anda DELETE sebuah objek, semua versi tetap berada dalam bucket, dan Amazon S3 menyisipkan penanda hapus, seperti yang ditunjukkan pada gambar berikut.

Ilustrasi yang menunjukkan penyisipan penanda hapus.

Delete marker menjadi versi objek saat ini. Secara default, permintaan GET akan mengambil versi yang paling terakhir disimpan. Melakukan permintaan GET Object ketika versi saat ini merupakan penanda hapus akan menampilkan pesan kesalahan 404 Not Found, seperti yang ditunjukkan pada gambar berikut.

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

Akan tetapi, Anda dapat GET versi objek nonterkini dengan menentukan ID versinya. Di gambar berikut, Anda akan GET versi objek tertentu, 111111. Amazon S3 akan menampilkan versi objek tersebut meskipun bukan versi saat ini.

Untuk informasi selengkapnya, lihat Mengambil versi objek dari bucket dengan dukungan Penentuan Versi.

Diagram yang menggambarkan cara kerja Penentuan Versi S3 ketika Anda GET sebuah objek dalam bucket dengan dukungan Penentuan Versi.

Anda dapat menghapus objek secara permanen dengan menentukan versi yang ingin Anda hapus. Hanya pemilik bucket Amazon S3 atau IAM pengguna resmi yang dapat menghapus versi secara permanen. Jika operasi DELETE Anda menentukan versionId, versi objek tersebut akan dihapus secara permanen, dan Amazon S3 tidak menyisipkan penanda hapus.

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

Anda dapat menambahkan lebih banyak keamanan dengan mengonfigurasi bucket untuk mengaktifkan penghapusan autentikasi multi-faktor ()MFA. Saat Anda mengaktifkan MFA delete untuk bucket, pemilik bucket harus menyertakan dua bentuk autentikasi dalam permintaan apa pun untuk menghapus versi atau mengubah status pembuatan versi bucket. Untuk informasi selengkapnya, lihat Mengkonfigurasi hapus MFA.

Kapan versi baru dibuat untuk suatu objek?

Versi baru objek dibuat hanya ketika Anda PUT obyek baru. Ingatlah bahwa tindakan tertentu, seperti CopyObject, bekerja dengan menerapkan operasi PUT.

Beberapa tindakan yang mengubah objek saat ini tidak membuat versi baru karena tindakan tersebut tidak PUT objek baru. Ini termasuk tindakan seperti mengubah tag pada objek.

penting

Jika Anda melihat peningkatan signifikan dalam jumlah HTTP 503 respons (Layanan Tidak Tersedia) yang diterima untuk Amazon PUT S3 DELETE atau permintaan objek ke bucket yang mengaktifkan Versi S3, Anda mungkin memiliki satu atau beberapa objek dalam bucket yang memiliki jutaan versi. Untuk informasi selengkapnya, lihat bagian Penentuan Versi S3 dari Pemecahan Masalah.