

 AWS SDK untuk Java 1.x mencapai end-of-support 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.

# Melakukan Operasi pada Amazon S3 Objek
<a name="examples-s3-objects"></a>

 Amazon S3 Objek mewakili *file* atau kumpulan data. Setiap benda harus berada di dalam [ember](examples-s3-buckets.md).

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

**Topics**
+ [

## Meng-unggah Objek
](#upload-object)
+ [

## Daftar Objek
](#list-objects)
+ [

## Mengunduh Objek
](#download-object)
+ [

## Salin, Pindahkan, atau Ganti Nama Objek
](#copy-object)
+ [

## Menghapus Objek
](#delete-object)
+ [

## Hapus Beberapa Objek Sekaligus
](#delete-objects)

## Meng-unggah Objek
<a name="upload-object"></a>

Gunakan `putObject` metode klien AmazonS3, berikan nama bucket, nama kunci, dan file untuk diunggah. *Bucket harus ada, atau kesalahan akan terjadi*.

 **Impor** 

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

 **Kode** 

```
System.out.format("Uploading %s to S3 bucket %s...\n", file_path, bucket_name);
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    s3.putObject(bucket_name, key_name, new File(file_path));
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

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

## Daftar Objek
<a name="list-objects"></a>

Untuk mendapatkan daftar objek dalam bucket, gunakan `listObjects` metode klien AmazonS3, yang menyediakan nama bucket.

`listObjects`Metode mengembalikan [ObjectListing](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/ObjectListing.html)objek yang memberikan informasi tentang objek dalam ember. Untuk membuat daftar nama objek (kunci), gunakan `getObjectSummaries` metode untuk mendapatkan Daftar ObjectSummary objek [S3](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/S3ObjectSummary.html), yang masing-masing mewakili satu objek dalam ember. Kemudian panggil `getKey` metodenya untuk mengambil nama objek.

 **Impor** 

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

 **Kode** 

```
System.out.format("Objects in S3 bucket %s:\n", bucket_name);
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
ListObjectsV2Result result = s3.listObjectsV2(bucket_name);
List<S3ObjectSummary> objects = result.getObjectSummaries();
for (S3ObjectSummary os : objects) {
    System.out.println("* " + os.getKey());
}
```

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

## Mengunduh Objek
<a name="download-object"></a>

Gunakan `getObject` metode klien AmazonS3, berikan nama bucket dan objek untuk diunduh. Jika berhasil, metode mengembalikan [S3Object](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/S3Object.html). *Bucket dan kunci objek yang ditentukan harus ada, atau kesalahan akan terjadi*.

Anda bisa mendapatkan konten objek dengan memanggil `getObjectContent``S3Object`. Ini mengembalikan [S3 ObjectInputStream](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/S3ObjectInputStream.html) yang berperilaku sebagai objek Java `InputStream` standar.

Contoh berikut mengunduh objek dari S3 dan menyimpan isinya ke file (menggunakan nama yang sama dengan kunci 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.S3Object;
import com.amazonaws.services.s3.model.S3ObjectInputStream;

import java.io.File;
```

 **Kode** 

```
System.out.format("Downloading %s from S3 bucket %s...\n", key_name, bucket_name);
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    S3Object o = s3.getObject(bucket_name, key_name);
    S3ObjectInputStream s3is = o.getObjectContent();
    FileOutputStream fos = new FileOutputStream(new File(key_name));
    byte[] read_buf = new byte[1024];
    int read_len = 0;
    while ((read_len = s3is.read(read_buf)) > 0) {
        fos.write(read_buf, 0, read_len);
    }
    s3is.close();
    fos.close();
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
} catch (FileNotFoundException e) {
    System.err.println(e.getMessage());
    System.exit(1);
} catch (IOException e) {
    System.err.println(e.getMessage());
    System.exit(1);
}
```

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

## Salin, Pindahkan, atau Ganti Nama Objek
<a name="copy-object"></a>

Anda dapat menyalin objek dari satu bucket ke bucket lainnya dengan menggunakan metode klien AmazonS3. `copyObject` Dibutuhkan nama bucket untuk disalin, objek yang akan disalin, dan nama bucket tujuan.

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
```

 **Kode** 

```
try {
    s3.copyObject(from_bucket, object_key, to_bucket, object_key);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
System.out.println("Done!");
```

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

**catatan**  
Anda dapat menggunakan `copyObject` dengan [DeleteObject](#delete-object) **untuk** memindahkan **atau** mengganti nama objek, dengan terlebih dahulu menyalin objek ke nama baru (Anda dapat menggunakan bucket yang sama dengan sumber dan tujuan) dan kemudian menghapus objek dari lokasi lamanya.

## Menghapus Objek
<a name="delete-object"></a>

Gunakan `deleteObject` metode klien AmazonS3, berikan nama bucket dan objek yang akan dihapus. *Bucket dan kunci objek yang ditentukan harus ada, atau kesalahan akan terjadi*.

 **Impor** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
```

 **Kode** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    s3.deleteObject(bucket_name, object_key);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

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

## Hapus Beberapa Objek Sekaligus
<a name="delete-objects"></a>

Menggunakan `deleteObjects` metode klien AmazonS3, Anda dapat menghapus beberapa objek dari bucket yang sama dengan meneruskan nama mereka ke metode link:sdk-for-java/v1/reference/com/amazonaws/services/s3/model/DeleteObjectsRequest.html. ``

 **Impor** 

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

 **Kode** 

```
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build();
try {
    DeleteObjectsRequest dor = new DeleteObjectsRequest(bucket_name)
            .withKeys(object_keys);
    s3.deleteObjects(dor);
} catch (AmazonServiceException e) {
    System.err.println(e.getErrorMessage());
    System.exit(1);
}
```

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