

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
<a name="DeletingObjectVersions"></a>

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. Jika bucket Anda mengaktifkan versi atau pembuatan versi ditangguhkan, tindakan konfigurasi siklus hidup berfungsi 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 objek](object-lifecycle-mgmt.md) dan [Contoh konfigurasi Siklus Hidup S3](lifecycle-configuration-examples.md).

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-optimize-storage.html?icmpid=docs_s3_user_guide_DeletingObjectVersions.html). Untuk daftar lengkap metrik, lihat [glosarium metrik Lensa Penyimpanan S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html?icmpid=docs_s3_user_guide_replication.html).

**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](https://aws.amazon.com/s3/pricing/). 

## Menghapus kasus penggunaan permintaan
<a name="delete-request-use-cases"></a>

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](DeleteMarker.md).

  Gambar berikut menunjukkan bahwa `DELETE` sederhana tidak benar-benar menghapus objek tertentu. Sebaliknya, Amazon S3 menyisipkan penanda hapus.  
![\[Ilustrasi yang menunjukkan penyisipan penanda hapus.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/versioning_DELETE_versioningEnabled.png)
+ 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.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/versioning_DELETE_versioningEnabled2.png)

## Untuk menghapus versi objek
<a name="delete-object-version"></a>

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

### Menggunakan konsol S3
<a name="deleting-object-versions"></a>

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

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

1. Di daftar **Objek**, pilih nama objek.

1. Pilih **Versi**.

   Amazon S3 menampilkan semua versi untuk objek tersebut.

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

1. Pilih **Hapus**.

1. Di **Hapus objek secara permanen?**, masukkan **permanently delete**.
**Awas**  
Saat Anda menghapus versi objek secara permanen, tindakan itu tidak dapat dibatalkan.

1. Pilih **Hapus objek**.

   Amazon S3 menghapus versi objek.

### Menggunakan AWS SDKs
<a name="delete-obj-version-version-enabled-bucket-sdks"></a>

Untuk contoh menghapus objek menggunakan AWS SDKs untuk Java, .NET, dan PHP, lihat[Menghapus objek Amazon S3](DeletingObjects.md). 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 yang lain AWS SDKs, lihat [Pusat AWS Pengembang](https://aws.amazon.com/code/). 

------
#### [ Python ]

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
```

------

### Penggunaan API REST
<a name="delete-obj-version-enabled-bucket-rest"></a>

**Untuk menghapus versi objek tertentu**
+ Di `DELETE`, tentukan ID versi.

**Example — Menghapus versi tertentu**  
Contoh berikut menghapus versi `UIORUnfnd89493jJFJ` dari `photo.gif`.  

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

### Menggunakan AWS CLI
<a name="delete-obj-version-enabled-bucket-cli"></a>

Perintah berikut menghapus objek bernama test.txt dari bucket bernama `amzn-s3-demo-bucket1`. Untuk menghapus versi objek tertentu, Anda harus menjadi pemilik bucket dan harus menggunakan subsumber daya Id versi.

```
aws s3api delete-object --bucket amzn-s3-demo-bucket1 --key test.txt --version-id versionID
```

Untuk informasi selengkapnya tentang `delete-object`, lihat [https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html](https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html) di *Referensi Perintah AWS CLI *.

Untuk informasi selengkapnya tentang menghapus versi objek, lihat topik berikut ini:
+ [Bekerja dengan penanda hapus](DeleteMarker.md)
+ [Menghapus penanda hapus untuk membuat versi yang lebih lama menjadi versi saat ini](ManagingDelMarkers.md#RemDelMarker)
+ [Menghapus objek dari bucket dengan dukungan penghapusan MFA](UsingMFADelete.md)