

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

# Bekerja dengan Amazon S3
<a name="examples-s3"></a>

Bagian ini memberikan informasi latar belakang untuk bekerja dengan Amazon S3 dengan menggunakan file. AWS SDK for Java 2.x Bagian ini melengkapi contoh [Amazon S3 Java v2](java_s3_code_examples.md) yang disajikan di *bagian Contoh kode* panduan ini.

## Klien S3 di AWS SDK for Java 2.x
<a name="s3-clients"></a>

 AWS SDK for Java 2.x Menyediakan berbagai jenis klien S3. Tabel berikut menunjukkan perbedaan dan dapat membantu Anda memutuskan apa yang terbaik untuk kasus penggunaan Anda.


**Rasa yang berbeda dari klien Amazon S3**  

| Klien S3 | Deskripsi singkat | Kapan harus digunakan | Limitation/drawback | 
| --- | --- | --- | --- | 
| **AWS CRT-based Klien S3**<br />Antarmuka: [S3AsyncClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html)<br />Pembangun: [S3CrtAsyncClientBuilder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html) | +  Menyediakan operasi API asinkron yang sama dengan klien asinkron Java-based S3 tetapi dengan kinerja yang lebih baik. <br />+  Membutuhkan `aws-crt` ketergantungan. <br />+  Mendukung transfer paralel otomatis (multipart). Lihat [Gunakan klien S3 berkinerja: klien S3 berbasis AWS CRT](crt-based-s3-client.md). |  +  Aplikasi Anda mentransfer objek besar (> 8MB) dan Anda ingin memaksimalkan kinerja. <br />+  Anda ingin mengunggah objek dengan panjang konten yang tidak diketahui. <br />+  Anda ingin meningkatkan penyatuan koneksi dan penyeimbangan beban DNS, yang meningkatkan throughput dan kinerja. <br />+  Anda ingin meningkatkan keandalan transfer jika terjadi kegagalan jaringan. Masing-masing bagian yang gagal dicoba ulang tanpa memulai ulang transfer dari awal.   |  +  Mendukung [pengaturan konfigurasi yang lebih sedikit](crt-based-s3-client.md#crt-based-s3-client-limitations) daripada klien Java-based S3. <br />+  Membutuhkan ketergantungan tambahan.   | 
| **Java-based *Klien asinkron S3 dengan multipart diaktifkan***<br />Antarmuka: [S3AsyncClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html)<br />Pembangun: [S3AsyncClientBuilder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClientBuilder.html) | +  Menyediakan API asinkron. <br />+  Mendukung transfer paralel otomatis (multipart) saat Anda mengaktifkan multipart pada waktu pembuatan. Lihat [Konfigurasikan klien async S3 berbasis Java untuk menggunakan transfer paralel](s3-async-client-multipart.md). |  +  Aplikasi Anda mentransfer objek besar dan Anda ingin meningkatkan kinerja. <br />+  Anda ingin mengunggah objek dengan panjang konten yang tidak diketahui. <br />+  Anda ingin meningkatkan keandalan transfer jika terjadi kegagalan jaringan. Masing-masing bagian yang gagal dicoba ulang tanpa memulai ulang transfer dari awal. <br />+  Anda memerlukan [opsi konfigurasi](crt-based-s3-client.md#crt-based-s3-client-limitations) yang tidak tersedia dengan klien AWS CRT-based S3.   | Kinerja kurang dari klien AWS CRT-based S3. | 
| **Java-based *Klien asinkron S3 tanpa multipart diaktifkan***<br />Antarmuka: [S3AsyncClient](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html)<br />Pembangun: [S3AsyncClientBuilder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClientBuilder.html) |  +  Menyediakan API asinkron.   |  +  Anda mentransfer objek yang kurang dari 8MB. <br />+  Anda menginginkan API asinkron.   | Tidak ada optimasi kinerja. | 
| **Java-based Klien sinkronisasi S3**<br />Antarmuka: [S3Client](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3Client.html)<br />Pembangun: [S3ClientBuilder](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3ClientBuilder.html) |  +  Menyediakan API sinkron.   |  +  Anda mentransfer objek yang kurang dari 8MB. <br />+  Anda menginginkan API sinkron.   | Tidak ada optimasi kinerja. | 

**catatan**  
Dari versi 2.18.x dan seterusnya, AWS SDK for Java 2.x menggunakan [pengalamatan bergaya host virtual saat menyertakan penggantian titik akhir](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access). Ini berlaku selama nama bucket adalah label DNS yang valid.   
Panggil [`forcePathStyle`](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3BaseClientBuilder.html#forcePathStyle(java.lang.Boolean)metode dengan `true` pembuat klien Anda untuk memaksa klien menggunakan pengalamatan gaya jalur untuk bucket.  
Contoh berikut menunjukkan klien layanan yang dikonfigurasi dengan penggantian titik akhir dan menggunakan pengalamatan gaya jalur.  

```
S3Client client = S3Client.builder()
                          .region(Region.US_WEST_2)
                          .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com"))
                          .forcePathStyle(true)
                          .build();
```

**Topics**
+ [Klien S3 di SDK](#s3-clients)
+ [Mengunggah stream ke S3](best-practices-s3-uploads.md)
+ [Pre-signed URL](examples-s3-presign.md)
+ [Akses Lintas Wilayah](s3-cross-region.md)
+ [Perlindungan integritas data dengan checksum](s3-checksums.md)
+ [Gunakan klien S3 yang berkinerja](crt-based-s3-client.md)
+ [Konfigurasikan dukungan transfer paralel](s3-async-client-multipart.md)
+ [Transfer file dan direktori](transfer-manager.md)
+ [Notifikasi Peristiwa S3](examples-s3-event-notifications.md)