

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

# Menggunakan AWS SDK for Java 2.x
<a name="using"></a>

Bab ini menunjukkan kepada Anda bagaimana menggunakan secara AWS SDK for Java 2.x efektif. Belajar membuat klien layanan, membuat permintaan, menangani tanggapan, dan mengelola kesalahan. Bab ini mencakup pemrograman sinkron dan asinkron, hasil paginasi, pelayan untuk pemantauan sumber daya, dan pengoptimalan kinerja. 

Anda juga akan menemukan praktik terbaik untuk penggunaan kembali klien, panduan pemecahan masalah, pengoptimalan startup Lambda, dukungan HTTP/2, dan konfigurasi DNS.

**Contents**
+ [Membuat Layanan AWS permintaan menggunakan AWS SDK for Java 2.x](work-witih-clients.md)
  + [Menggunakan klien layanan untuk membuat permintaan](work-witih-clients.md#using-service-client)
    + [Buat klien layanan](work-witih-clients.md#work-with-clients-create)
    + [Konfigurasi klien default](work-witih-clients.md#using-default-client)
    + [Konfigurasikan klien layanan](work-witih-clients.md#using-configure-service-clients)
    + [Tutup klien layanan](work-witih-clients.md#using-closing-client)
  + [Membuat permintaan](work-witih-clients.md#using-making-requests)
    + [Gunakan permintaan untuk mengganti konfigurasi klien](work-witih-clients.md#using-override-client-config-request)
  + [Menangani tanggapan](work-witih-clients.md#using-handling-responses)
+ [Pemrograman secara asinkron menggunakan AWS SDK for Java 2.x](asynchronous.md)
  + [Gunakan klien asinkron APIs](asynchronous.md#basics-async-non-streaming)
  + [Menangani streaming dalam metode asinkron](asynchronous.md#basics-async-streaming)
  + [Konfigurasikan opsi asinkron lanjutan](asynchronous.md#advanced-operations)
+ [Praktik terbaik untuk menggunakan AWS SDK for Java 2.x](best-practices.md)
  + [Mencegah permintaan gantung dengan mengonfigurasi batas waktu API](best-practices.md#bestpractice5)
  + [Meningkatkan kinerja dengan menggunakan kembali klien layanan](best-practices.md#bestpractice1)
  + [Mencegah kebocoran sumber daya dengan menutup klien layanan yang tidak digunakan](best-practices.md#bestpractice-close-client)
  + [Mencegah kelelahan kolam koneksi dengan menutup aliran input](best-practices.md#bestpractice2)
  + [Optimalkan kinerja HTTP untuk beban kerja aplikasi Anda](best-practices.md#bestpractice3)
  + [Tingkatkan kinerja SSL dengan OpenSSL untuk klien async](best-practices.md#bestpractice4)
  + [Pantau kinerja aplikasi dengan metrik SDK](best-practices.md#bestpractice6)
+ [Menangani kesalahan di AWS SDK for Java 2.x](handling-exceptions.md)
  + [Mengapa pengecualian yang tidak dicentang?](handling-exceptions.md#why-unchecked-exceptions)
  + [AwsServiceException (dan subclass)](handling-exceptions.md#sdkserviceexception-and-subclasses)
  + [SdkClientException](handling-exceptions.md#sdkclientexception)
  + [Pengecualian dan perilaku coba lagi](handling-exceptions.md#retried-exceptions)
+ [Menggunakan hasil paginasi di 2.x AWS SDK untuk Java](pagination.md)
  + [pagination sinkron](pagination.md#synchronous-pagination)
    + [Iterasi di atas halaman](pagination.md#iterate-pages)
    + [Iterasi di atas objek](pagination.md#iterate-objects)
      + [Gunakan aliran](pagination.md#use-a-stream)
      + [Gunakan untuk setiap loop](pagination.md#for-loop)
    + [Pagination manual](pagination.md#manual-pagination)
  + [pagination asinkron](pagination.md#asynchronous-pagination)
    + [Ulangi halaman nama tabel](pagination.md#iterate-pages-async)
      + [Gunakan `Subscriber`](pagination.md#use-a-subscriber)
      + [Gunakan `Consumer`](pagination.md#id1pagination)
    + [Ulangi nama tabel](pagination.md#iterate-objects-async)
      + [Gunakan `Subscriber`](pagination.md#id2)
      + [Gunakan `Consumer`](pagination.md#for-loop-async)
    + [Gunakan pustaka pihak ketiga](pagination.md#use-third-party-library)
+ [Menggunakan pelayan di AWS SDK for Java 2.x](waiters.md)
  + [Prasyarat](waiters.md#prerequisiteswaiters)
  + [Menggunakan pelayan](waiters.md#id1waiters)
    + [Pemrograman sinkron](waiters.md#synchronous-programming)
    + [Pemrograman asinkron](waiters.md#asynchronous-programming)
  + [Konfigurasikan pelayan](waiters.md#configuring-waiters)
    + [Konfigurasikan pelayan](waiters.md#configure-a-waiter)
    + [Ganti konfigurasi untuk permintaan tertentu](waiters.md#override-configuration-for-a-specific-request)
  + [Contoh kode](waiters.md#code-examples)
+ [Pemecahan masalah FAQs](troubleshooting.md)
  + [Bagaimana cara memperbaiki kesalahan "`java.net.SocketException`: Pengaturan ulang koneksi” atau “server gagal menyelesaikan respons”?](troubleshooting.md#faq-socketexception)
  + [Bagaimana cara memperbaiki “batas waktu koneksi”?](troubleshooting.md#faq-connection-timeout)
  + [Bagaimana cara memperbaiki "`java.net.SocketTimeoutException`: Baca waktunya habis”?](troubleshooting.md#faq-socket-timeout)
  + [Bagaimana cara memperbaiki kesalahan “Tidak dapat menjalankan permintaan HTTP: Batas waktu menunggu koneksi dari kumpulan”?](troubleshooting.md#faq-pool-timeout)
  + [Bagaimana cara memperbaiki`NoClassDefFoundError`, `NoSuchMethodError` atau`NoSuchFieldError`?](troubleshooting.md#faq-classpath-errors)
  + [Bagaimana cara memperbaiki kesalahan "`SignatureDoesNotMatch`" atau “Tanda tangan permintaan yang kami hitung tidak cocok dengan tanda tangan yang Anda berikan”?](troubleshooting.md#faq-signature-does-not-match-error)
  + [Bagaimana cara memperbaiki kesalahan "`java.lang.IllegalStateException`: Connection pool shut down”?](troubleshooting.md#faq-connection-pool-shutdown-exception)
  + [Bagaimana cara memperbaiki “Tidak dapat memuat kredensyal dari salah satu penyedia dalam rantai “? AwsCredentialsProviderChain](troubleshooting.md#faq-credentials-provider-chain)
    + [Penyebab dan solusi umum](troubleshooting.md#faq-cred-provider-chain-common-causes-and-solutions)
      + [Tinjau konfigurasi kredensyal Anda](troubleshooting.md#faq-cred-provider-chain-check-config)
        + [Untuk instans Amazon EC2](troubleshooting.md#faq-cred-check-ec2)
        + [Untuk lingkungan kontainer](troubleshooting.md#faq-cred-check-container-env)
        + [Untuk pengembangan lokal](troubleshooting.md#faq-cred-check-local-dev)
        + [Untuk federasi identitas web](troubleshooting.md#faq-cred-check-web-id-federation)
      + [Masalah konektivitas jaringan atau proxy](troubleshooting.md#faq-credentials-provider-chain-network-issues)
+ [Kurangi waktu startup SDK untuk AWS Lambda](lambda-optimize-starttime.md)
  + [Gunakan klien HTTP AWS berbasis CRT](lambda-optimize-starttime.md#lambda-quick-url)
  + [Hapus dependensi klien HTTP yang tidak digunakan](lambda-optimize-starttime.md#lambda-quick-remove-deps)
  + [Konfigurasikan klien layanan untuk memintas pencarian](lambda-optimize-starttime.md#lambda-quick-clients)
  + [Inisialisasi klien SDK di luar penangan fungsi Lambda](lambda-optimize-starttime.md#lambda-quick-initialize)
  + [Minimalkan injeksi ketergantungan](lambda-optimize-starttime.md#lambda-quick-di)
  + [Gunakan penargetan Maven Archetype AWS Lambda](lambda-optimize-starttime.md#lambda-quick-maven)
  + [Pertimbangkan Lambda SnapStart untuk Java](lambda-optimize-starttime.md#lambda-quick-snapstart)
  + [Perubahan versi 2.x yang memengaruhi waktu startup](lambda-optimize-starttime.md#example-client-configuration)
  + [Sumber daya tambahan](lambda-optimize-starttime.md#lambda-quick-resources)
+ [Implementasikan `ContentStreamProvider` di AWS SDK for Java 2.x](content-stream-provider.md)
  + [Gunakan `mark()` dan `reset()`](content-stream-provider.md#csp-impl-mark-reset)
  + [Gunakan buffering jika `mark()` dan tidak `reset()` tersedia](content-stream-provider.md#csp-impl-unsupported-streams)
  + [Buat aliran baru](content-stream-provider.md#csp-impl-new-stream)
+ [Mengatur JVM TTL untuk pencarian nama DNS](jvm-ttl-dns.md)
  + [Cara mengatur JVM TTL](jvm-ttl-dns.md#how-to-set-the-jvm-ttl)
    + [Opsi 1: Atur secara terprogram di aplikasi Anda](jvm-ttl-dns.md#set-ttl-programmatically)
    + [Opsi 2: Atur di file java.security](jvm-ttl-dns.md#set-ttl-java-security-file)
    + [Opsi 3: Gunakan fallback properti sistem JDK (baris perintah)](jvm-ttl-dns.md#set-ttl-system-property)
+ [Bekerja dengan HTTP/2 di AWS SDK untuk Java](http2.md)