View a markdown version of this page

Menghapus satu objek - Amazon Simple Storage Service

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

Menghapus satu objek

Anda dapat menggunakan konsol Amazon S3 atau DELETE API untuk menghapus satu objek yang ada dari bucket S3. Untuk informasi selengkapnya tentang menghapus objek di Amazon S3, lihat Menghapus objek Amazon S3.

Karena semua objek dalam bucket S3 Anda mengeluarkan biaya penyimpanan, Anda sebaiknya menghapus objek yang tidak lagi dibutuhkan. Misalnya, jika Anda mengumpulkan file log, sebaiknya hapus file tersebut saat tidak diperlukan lagi. Anda dapat mengatur aturan siklus hidup untuk secara otomatis menghapus objek seperti file log. Untuk informasi selengkapnya, lihat Menyetel konfigurasi Siklus Hidup S3 pada bucket.

Untuk informasi tentang fitur dan harga Amazon S3, lihat Harga Amazon S3.

Ikuti langkah-langkah berikut ini untuk menggunakan konsol Amazon S3 guna menghapus satu objek dari bucket.

Awas

Saat Anda menghapus objek atau versi objek tertentu secara permanen di konsol Amazon S3, penghapusan tidak dapat dibatalkan.

Untuk menghapus objek yang memiliki versi diaktifkan atau ditangguhkan
catatan

Jika ID versi untuk objek dalam bucket yang ditangguhkan versi ditandai sebagaiNULL, S3 menghapus objek secara permanen karena tidak ada versi sebelumnya. Namun, jika ID versi yang valid terdaftar untuk objek dalam bucket yang ditangguhkan versi, maka S3 membuat penanda hapus untuk objek yang dihapus, sambil mempertahankan versi sebelumnya dari objek.

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

  2. Di panel navigasi kiri, pilih Buc ket tujuan umum atau Buc ket direktori.

  3. Dalam bucket list, pilih nama bucket tempat Anda ingin menghapus objek.

  4. Pilih objek dan kemudian pilih H apus.

  5. Untuk mengonfirmasi penghapusan daftar objek di bawah Objek tertentu di H apus objek? kotak teks, masukkandelete.

Untuk menghapus versi objek tertentu secara permanen dalam bucket yang diaktifkan versi
Awas

Saat Anda menghapus versi objek tertentu secara permanen di Amazon S3, penghapusan tidak dapat dibatalkan.

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

  2. Di dalam daftar Nama bucket, pilih nama bucket yang ingin Anda hapus objeknya.

  3. Pilih objek yang ingin Anda hapus.

  4. Pilih sak elar Tampilkan versi.

  5. Pilih versi objek dan kemudian pilih H apus.

  6. Untuk mengonfirmasi penghapusan permanen dari versi objek tertentu yang tercantum di bawah Objek tertentu, di Hapus objek? kotak teks, masukkan H apus secara permanen. Amazon S3 secara permanen menghapus versi objek tertentu.

Untuk menghapus objek secara permanen di bucket Amazon S3 yang tidak mengaktifkan pembuatan versi
Awas

Saat Anda menghapus objek secara permanen di Amazon S3, penghapusan tidak dapat dibatalkan. Selain itu, untuk bucket apa pun tanpa versi diaktifkan, penghapusan bersifat permanen.

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

  2. Di panel navigasi kiri, pilih Buc ket tujuan umum.

  3. Dalam bucket list, pilih nama bucket tempat Anda ingin menghapus objek.

  4. Pilih objek dan kemudian pilih H apus.

  5. Untuk mengkonfirmasi penghapusan permanen objek yang tercantum di bawah Objek tertentu, di Hapus objek? kotak teks, masukkan hapus secara permanen.

catatan

Jika Anda mengalami masalah dengan menghapus objek, lihatSaya ingin menghapus objek berversi secara permanen.

Untuk menghapus satu objek per permintaan, gunakan API DELETE. Untuk informasi selengkapnya, lihat DELETE Object. Untuk informasi selengkapnya tentang menggunakan CLI untuk menghapus objek, lihat delete-object.

Anda dapat menggunakan AWS SDK untuk menghapus objek. Namun, jika aplikasi Anda memerlukannya, Anda dapat mengirimkan permintaan REST secara langsung. Untuk informasi selengkapnya, lihat DELETE Object dalam Referensi API Amazon Simple Storage Service.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan AWS SDK untuk menghapus objek dari bucket. Untuk informasi selengkapnya, lihat DELETE Object dalam Referensi API Amazon Simple Storage Service

Jika Penentuan Versi S3 Anda telah diaktifkan pada bucket tersebut, Anda memiliki opsi berikut:

  • Menghapus versi objek tertentu dengan menentukan ID versi.

  • Menghapus objek tanpa menentukan ID versi, di mana Amazon S3 menambahkan sebuah penanda hapus ke objek.

Untuk informasi selengkapnya tentang Penentuan Versi S3, lihat Mempertahankan beberapa versi objek dengan S3 Versioning.

Untuk contoh selengkapnya, dan contoh dalam bahasa lain, lihat Menggunakan DeleteObject dengan AWS SDK atau CLI di referensi API Amazon S3.

Java

Untuk menghapus objek menggunakan AWS SDK untuk Java, Anda dapat menghapus objek dari bucket berversi dan non-versi:

  • Non-versioned bucket: Dalam permintaan hapus, Anda hanya menentukan kunci objek dan bukan ID versi.

  • Bucket berversi: Anda dapat menghapus versi objek tertentu dengan menentukan nama kunci objek dan ID versi. Jika tidak ada versi lain dari objek tersebut, Amazon S3 akan sepenuhnya menghapus objek tersebut. Jika tidak, Amazon S3 hanya menghapus versi yang ditentukan.

    catatan

    Anda dapat memperoleh ID versi dari sebuah objek dengan mengirimkan permintaan ListVersions.

Untuk contoh cara menghapus satu objek dengan AWS SDK untuk Java, lihat Mengh apus objek di Referensi API Amazon S3.

.NET

Contoh berikut menunjukkan cara untuk menghapus sebuah objek dari bucket berversi maupun non-versi. Untuk informasi selengkapnya tentang Penentuan Versi S3, lihat Mempertahankan beberapa versi objek dengan S3 Versioning.

contoh Penghapusan sebuah objek dari sebuah bucket non-versi

Contoh berikut menampilkan penghapusan sebuah objek dari sebuah bucket non-versi. Contoh ini mengasumsikan bahwa objek tidak memiliki ID versi, sehingga Anda tidak menentukan ID versi. Anda hanya menentukan kunci objek.

Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Mem ulai dengan AWS SDK untuk.NET di Panduan Pengembang AWS SDK untuk.NET.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class DeleteObjectNonVersionedBucketTest { private const string bucketName = "*** bucket name ***"; private const string keyName = "*** object key ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { client = new AmazonS3Client(bucketRegion); DeleteObjectNonVersionedBucketAsync().Wait(); } private static async Task DeleteObjectNonVersionedBucketAsync() { try { var deleteObjectRequest = new DeleteObjectRequest { BucketName = bucketName, Key = keyName }; Console.WriteLine("Deleting an object"); await client.DeleteObjectAsync(deleteObjectRequest); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when deleting an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when deleting an object", e.Message); } } } }
contoh Penghapusan sebuah objek dari sebuah bucket berversi

Contoh C# berikut menampilkan penghapusan sebuah objek dari sebuah bucket berversi. Ini menghapus versi objek tertentu dengan menentukan nama kunci objek dan ID versi.

Kode ini melakukan tugas-tugas berikut:

  1. Mengaktifkan S3 Penentuan Versi pada bucket yang Anda tentukan (jika S3 Penentuan Versi sudah diaktifkan, hal ini tidak berpengaruh).

  2. Menambahkan sebuah objek sampel ke bucket. Amazon S3 merespons dengan menampilkan ID versi dari objek yang baru saja ditambahkan. Contohnya menggunakan ID versi ini dalam permintaan penghapusan.

  3. Hapus versi objek dengan menentukan nama kunci objek maupun ID versi.

    catatan

    Anda dapat memperoleh ID versi dari sebuah objek dengan mengirimkan permintaan ListVersions.

    var listResponse = client.ListVersions(new ListVersionsRequest { BucketName = bucketName, Prefix = keyName });

Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Mem ulai dengan AWS SDK untuk.NET di Panduan Pengembang AWS SDK untuk.NET.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class DeleteObjectVersion { private const string bucketName = "*** versioning-enabled bucket name ***"; private const string keyName = "*** Object Key Name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { client = new AmazonS3Client(bucketRegion); CreateAndDeleteObjectVersionAsync().Wait(); } private static async Task CreateAndDeleteObjectVersionAsync() { try { // Add a sample object. string versionID = await PutAnObject(keyName); // Delete the object by specifying an object key and a version ID. DeleteObjectRequest request = new DeleteObjectRequest { BucketName = bucketName, Key = keyName, VersionId = versionID }; Console.WriteLine("Deleting an object"); await client.DeleteObjectAsync(request); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when deleting an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when deleting an object", e.Message); } } static async Task<string> PutAnObject(string objectKey) { PutObjectRequest request = new PutObjectRequest { BucketName = bucketName, Key = objectKey, ContentBody = "This is the content body!" }; PutObjectResponse response = await client.PutObjectAsync(request); return response.VersionId; } } }
PHP

Contoh ini menunjukkan cara menggunakan kelas dari versi 3 AWS SDK untuk PHP untuk menghapus objek dari bucket yang tidak berversi. Untuk informasi tentang penghapusan sebuah objek dari sebuah bucket berversi, lihat Penggunaan API REST.

Untuk informasi selengkapnya tentang AWS SDK untuk Ruby API, buka AWS SDK untuk Ruby - Versi 2.

Contoh PHP berikut menghapus objek dari bucket. Karena contoh ini menunjukkan cara menghapus objek dari bucket yang non-versi, contoh ini hanya menyediakan nama bucket dan kunci objek (bukan ID versi) dalam permintaan penghapusan.

<?php require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\S3\Exception\S3Exception; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; $s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-east-1' ]); // 1. Delete the object from the bucket. try { echo 'Attempting to delete ' . $keyname . '...' . PHP_EOL; $result = $s3->deleteObject([ 'Bucket' => $bucket, 'Key' => $keyname ]); if ($result['DeleteMarker']) { echo $keyname . ' was deleted or does not exist.' . PHP_EOL; } else { exit('Error: ' . $keyname . ' was not deleted.' . PHP_EOL); } } catch (S3Exception $e) { exit('Error: ' . $e->getAwsErrorMessage() . PHP_EOL); } // 2. Check to see if the object was deleted. try { echo 'Checking to see if ' . $keyname . ' still exists...' . PHP_EOL; $result = $s3->getObject([ 'Bucket' => $bucket, 'Key' => $keyname ]); echo 'Error: ' . $keyname . ' still exists.'; } catch (S3Exception $e) { exit($e->getAwsErrorMessage()); }
Javascript
import { DeleteObjectCommand } from "@aws-sdk/client-s3"; import { s3Client } from "./libs/s3Client.js" // Helper function that creates Amazon S3 service client module. export const bucketParams = { Bucket: "BUCKET_NAME", Key: "KEY" }; export const run = async () => { try { const data = await s3Client.send(new DeleteObjectCommand(bucketParams)); console.log("Success. Object deleted.", data); return data; // For unit tests. } catch (err) { console.log("Error", err); } }; run();