

 AWS SDK untuk Java 1.x mencapai akhir dukungan pada 31 Desember 2025. Kami menyarankan Anda bermigrasi ke [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)untuk terus menerima fitur baru, peningkatan ketersediaan, dan pembaruan keamanan.

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

# Membuat, Membuat Daftar, dan Menghapus Bucket Amazon S3
<a name="examples-s3-buckets"></a>

Setiap objek (file) di Amazon S3 harus berada dalam *ember*, yang mewakili koleksi (wadah) objek. Setiap ember dikenal dengan *kunci* (nama), yang harus unik. Untuk informasi terperinci tentang bucket dan konfigurasinya, lihat [Bekerja dengan Amazon S3 Bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html) di Amazon Simple Storage Service Panduan Pengguna.

**catatan**  
Praktik Terbaik  
Kami menyarankan Anda mengaktifkan aturan [AbortIncompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html)siklus hidup pada bucket Anda Amazon S3 .  
Aturan ini mengarahkan Amazon S3 untuk membatalkan unggahan multipart yang tidak selesai dalam jumlah hari tertentu setelah dimulai. Ketika batas waktu yang ditetapkan terlampaui, Amazon S3 batalkan unggahan dan kemudian menghapus data unggahan yang tidak lengkap.  
Untuk informasi selengkapnya, lihat [Konfigurasi Siklus Hidup untuk Bucket dengan Pembuatan Versi di Panduan Pengguna](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-bucket-with-versioning.html). Amazon S3 

**catatan**  
Contoh kode ini mengasumsikan bahwa Anda memahami materi dalam [Menggunakan AWS SDK untuk Java](basics.md) dan telah mengonfigurasi AWS kredensi default menggunakan informasi di [Siapkan AWS Kredensial dan](setup-credentials.md) Wilayah untuk Pengembangan.

## Buat Bucket
<a name="create-bucket"></a>

Gunakan metode klien AmazonS3. `createBucket` [Bucket](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Bucket.html) baru dikembalikan. `createBucket`Metode ini akan memunculkan pengecualian jika bucket sudah ada.

**catatan**  
Untuk memeriksa apakah bucket sudah ada sebelum mencoba membuatnya dengan nama yang sama, panggil `doesBucketExist` metode tersebut. Ini akan kembali `true` jika ember ada, dan `false` sebaliknya.

 **Impor** 

```
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AmazonS3Exception;
import com.amazonaws.services.s3.model.Bucket;

import java.util.List;
```

 **Kode** 

```
if (s3.doesBucketExistV2(bucket_name)) {
    System.out.format("Bucket %s already exists.\n", bucket_name);
    b = getBucket(bucket_name);
} else {
    try {
        b = s3.createBucket(bucket_name);
    } catch (AmazonS3Exception e) {
        System.err.println(e.getErrorMessage());
    }
}
return b;
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/CreateBucket.java) di GitHub.

## Buat Daftar Bucket
<a name="list-buckets"></a>

Gunakan metode klien AmazonS3. `listBucket` Jika berhasil, daftar [Bucket](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Bucket.html) dikembalikan.

 **Impor** 

```
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.Bucket;

import java.util.List;
```

 **Kode** 

```
List<Bucket> buckets = s3.listBuckets();
System.out.println("Your {S3} buckets are:");
for (Bucket b : buckets) {
    System.out.println("* " + b.getName());
}
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/ListBuckets.java) di GitHub.

## Hapus Bucket
<a name="delete-bucket"></a>

Sebelum Anda dapat menghapus Amazon S3 ember, Anda harus memastikan bahwa ember kosong atau kesalahan akan terjadi. Jika Anda memiliki [bucket berversi](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html), Anda juga harus menghapus objek berversi apa pun yang terkait dengan bucket.

**catatan**  
[Contoh lengkap](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) mencakup masing-masing langkah ini secara berurutan, memberikan solusi lengkap untuk menghapus Amazon S3 ember dan isinya.

**Topics**
+ [Hapus Objek dari Bucket Tidak Berversi Sebelum Menghapusnya](#remove-objects-from-an-unversioned-bucket-before-deleting-it)
+ [Hapus Objek dari Bucket Berversi Sebelum Menghapusnya](#remove-objects-from-a-versioned-bucket-before-deleting-it)
+ [Hapus Ember Kosong](#delete-an-empty-bucket)

### Hapus Objek dari Bucket Tidak Berversi Sebelum Menghapusnya
<a name="remove-objects-from-an-unversioned-bucket-before-deleting-it"></a>

Gunakan `listObjects` metode klien AmazonS3 untuk mengambil daftar objek dan `deleteObject` menghapus masing-masing objek.

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Kode** 

```
System.out.println(" - removing objects from bucket");
ObjectListing object_listing = s3.listObjects(bucket_name);
while (true) {
    for (Iterator<?> iterator =
         object_listing.getObjectSummaries().iterator();
         iterator.hasNext(); ) {
        S3ObjectSummary summary = (S3ObjectSummary) iterator.next();
        s3.deleteObject(bucket_name, summary.getKey());
    }

    // more object_listing to retrieve?
    if (object_listing.isTruncated()) {
        object_listing = s3.listNextBatchOfObjects(object_listing);
    } else {
        break;
    }
}
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) di GitHub.

### Hapus Objek dari Bucket Berversi Sebelum Menghapusnya
<a name="remove-objects-from-a-versioned-bucket-before-deleting-it"></a>

Jika Anda menggunakan [bucket berversi](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html), Anda juga perlu menghapus semua versi objek yang tersimpan di bucket sebelum bucket dapat dihapus.

Menggunakan pola yang mirip dengan yang digunakan saat menghapus objek di dalam ember, hapus objek berversi dengan menggunakan `listVersions` metode klien AmazonS3 untuk mencantumkan objek berversi apa pun, dan kemudian menghapus masing-masing objek. `deleteVersion`

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Kode** 

```
System.out.println(" - removing versions from bucket");
VersionListing version_listing = s3.listVersions(
        new ListVersionsRequest().withBucketName(bucket_name));
while (true) {
    for (Iterator<?> iterator =
         version_listing.getVersionSummaries().iterator();
         iterator.hasNext(); ) {
        S3VersionSummary vs = (S3VersionSummary) iterator.next();
        s3.deleteVersion(
                bucket_name, vs.getKey(), vs.getVersionId());
    }

    if (version_listing.isTruncated()) {
        version_listing = s3.listNextBatchOfVersions(
                version_listing);
    } else {
        break;
    }
}
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) di GitHub.

### Hapus Ember Kosong
<a name="delete-an-empty-bucket"></a>

Setelah Anda menghapus objek dari bucket (termasuk objek berversi apa pun), Anda dapat menghapus bucket itu sendiri dengan menggunakan metode klien AmazonS3. `deleteBucket`

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Kode** 

```
System.out.println(" OK, bucket ready to delete!");
s3.deleteBucket(bucket_name);
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) di GitHub.