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 akan menghapus objek secara permanen karena tidak ada versi sebelumnya. Namun, jika ID versi yang valid dicantumkan untuk objek dalam bucket yang ditangguhkan versi, maka S3 membuat penanda hapus untuk objek yang dihapus, sambil mempertahankan versi objek sebelumnya.

  1. Masuk ke AWS Management Console 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 dan kemudian pilih Hapus.

  4. Untuk mengonfirmasi penghapusan daftar objek di bawah Objek yang ditentukan di objek Hapus? kotak teks, masukkandelete.

Untuk menghapus versi objek tertentu secara permanen dalam bucket berkemampuan versi
Awas

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

  1. Masuk ke AWS Management Console 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 sakelar Tampilkan versi.

  5. Pilih versi objek dan kemudian pilih Hapus.

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

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

Saat Anda menghapus objek secara permanen di Amazon S3, penghapusan tidak dapat dibatalkan. Juga, untuk ember apa pun tanpa mengaktifkan versi, penghapusan bersifat permanen.

  1. Masuk ke AWS Management Console 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 dan kemudian pilih Hapus.

  4. Untuk mengonfirmasi penghapusan permanen objek yang terdaftar di bawah Objek yang ditentukan, di objek Hapus? kotak teks, masukkan hapus secara permanen.

catatan

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

Untuk menghapus satu objek per permintaan, gunakan file DELETEAPI. Untuk informasi selengkapnya, lihat DELETEObjek. Untuk informasi selengkapnya tentang menggunakan CLI untuk menghapus objek, lihat menghapus-objek.

Anda dapat menggunakan AWS SDKs untuk menghapus objek. Namun, jika aplikasi Anda membutuhkannya, Anda dapat mengirim REST permintaan secara langsung. Untuk informasi selengkapnya, lihat DELETEObjek di APIReferensi Layanan Penyimpanan Sederhana Amazon.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan AWS SDKs untuk menghapus objek dari ember. Untuk informasi selengkapnya, lihat DELETEObjek di APIReferensi Layanan Penyimpanan Sederhana Amazon

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.

Java
contoh Contoh 1: Menghapus sebuah objek (bucket non-versi)

Contoh berikut mengasumsikan bahwa bucket tidak diaktifkan versi dan objek tidak memiliki versi apa pun. IDs Dalam permintaan penghapusan, Anda hanya menentukan kunci objek dan bukan ID versi.

Untuk petunjuk cara membuat dan menguji sampel yang berfungsi, lihat Memulai di Panduan AWS SDK for Java Pengembang.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.DeleteObjectRequest; import java.io.IOException; public class DeleteObjectNonVersionedBucket { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ****"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); s3Client.deleteObject(new DeleteObjectRequest(bucketName, keyName)); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
contoh Contoh 2: Menghapus sebuah objek (bucket berversi)

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

Contoh ini melakukan hal berikut:

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

  2. Hapus versi objek dengan menentukan nama kunci objek maupun 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 bisa mendapatkan IDs versi objek dengan mengirimkan ListVersions permintaan.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketVersioningConfiguration; import com.amazonaws.services.s3.model.DeleteVersionRequest; import com.amazonaws.services.s3.model.PutObjectResult; import java.io.IOException; public class DeleteObjectVersionEnabledBucket { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ****"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Check to ensure that the bucket is versioning-enabled. String bucketVersionStatus = s3Client.getBucketVersioningConfiguration(bucketName).getStatus(); if (!bucketVersionStatus.equals(BucketVersioningConfiguration.ENABLED)) { System.out.printf("Bucket %s is not versioning-enabled.", bucketName); } else { // Add an object. PutObjectResult putResult = s3Client.putObject(bucketName, keyName, "Sample content for deletion example."); System.out.printf("Object %s added to bucket %s\n", keyName, bucketName); // Delete the version of the object that we just created. System.out.println("Deleting versioned object " + keyName); s3Client.deleteVersion(new DeleteVersionRequest(bucketName, keyName, putResult.getVersionId())); System.out.printf("Object %s, version %s deleted\n", keyName, putResult.getVersionId()); } } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.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 mengasumsikan bahwa objek tidak memiliki versiIDs, jadi Anda tidak menentukan versiIDs. Anda hanya menentukan kunci objek.

Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Memulai dengan AWS SDK for. NETdi AWS SDKuntuk. NETPanduan Pengembang.

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 Memulai dengan AWS SDK for. NETdi AWS SDKuntuk. NETPanduan Pengembang.

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 for PHP untuk menghapus objek dari bucket yang tidak berversi. Untuk informasi tentang penghapusan sebuah objek dari sebuah bucket berversi, lihat Menggunakan REST API.

Untuk informasi lebih lanjut tentang AWS SDK untuk RubyAPI, buka AWS SDKuntuk Ruby - Versi 2.

PHPContoh berikut menghapus objek dari ember. 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();