

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

# Mengkonfigurasi klien layanan untuk eksternal AWS SDK for Java 2.x
<a name="configuring-service-clients-ext"></a>

Banyak pengaturan konfigurasi dapat ditangani di luar kode Anda. Ketika Anda menangani konfigurasi eksternal, itu dapat diterapkan ke semua aplikasi Anda dalam proses Java yang sama. Sebagian besar pengaturan konfigurasi dapat diatur sebagai variabel lingkungan, properti sistem JVM, atau dalam file bersama AWS `config` yang terpisah. `config`File bersama dapat mempertahankan set pengaturan terpisah, yang disebut profil, untuk menyediakan konfigurasi yang berbeda untuk lingkungan atau pengujian yang berbeda.

Sebagian besar variabel lingkungan dan pengaturan `config` file bersama distandarisasi dan dibagikan di seluruh AWS SDKs dan alat untuk mendukung fungsionalitas yang konsisten di berbagai bahasa dan aplikasi pemrograman. Dalam kebanyakan kasus, properti sistem JVM yang dapat digunakan SDK for Java mencerminkan variabel lingkungan.

Lihat *[Panduan Referensi Alat AWS SDKs dan](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html)* untuk mempelajari tentang mengonfigurasi aplikasi Anda melalui metode ini, ditambah detail pada setiap setelan lintas sdk. Untuk melihat semua pengaturan yang dapat diselesaikan SDK dari variabel lingkungan, properti sistem JVM, atau file konfigurasi, lihat [referensi Pengaturan di Panduan Referensi](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html) *Alat AWS SDKs dan Alat*.

## Rantai penyedia konfigurasi untuk konfigurasi klien
<a name="configuration-provider-chain"></a>

SDK memeriksa beberapa tempat (atau sumber) untuk menemukan nilai konfigurasi.

1. Pengaturan eksplisit apa pun yang disetel dalam kode atau pada klien layanan itu sendiri lebih diutamakan daripada yang lain.

1. Properti sistem JVM
   + Untuk detail tentang pengaturan properti sistem JVM, lihat [Cara menyetel properti sistem JVM](https://docs.aws.amazon.com/sdkref/latest/guide/jvm-system-properties.html#jvm-sys-props-set) di Panduan Referensi Alat *AWS SDKs dan*.

1. Variabel-variabel lingkungan
   + Untuk detail tentang pengaturan variabel lingkungan, lihat [variabel lingkungan](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html) di *Panduan Referensi Alat AWS SDKs dan Alat*.
   + Perhatikan bahwa Anda dapat mengonfigurasi variabel lingkungan untuk shell pada tingkat cakupan yang berbeda: seluruh sistem, seluruh pengguna, dan untuk sesi terminal tertentu.

1. Berbagi `config` dan `credentials` file
   + Untuk detail tentang pengaturan file-file ini, lihat [Dibagikan `config` dan `credentials` file](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) di *Panduan Referensi Alat AWS SDKs dan Alat*.

1. Setiap nilai default yang disediakan oleh kode sumber SDK itu sendiri digunakan terakhir.
   + Beberapa properti, seperti Region, tidak memiliki default. Anda harus menentukannya secara eksplisit dalam kode, dalam pengaturan lingkungan, atau dalam file bersama`config`. Jika SDK tidak dapat menyelesaikan konfigurasi yang diperlukan, permintaan API dapat gagal saat runtime.

[Selain rantai konfigurasi umum ini, SDK for Java 2.x juga menggunakan rantai penyedia khusus termasuk rantai penyedia [kredensil dan rantai penyedia](credentials-chain.md).Wilayah AWS](region-selection.md#default-region-provider-chain) Rantai khusus ini menambahkan penyedia tambahan yang memperhitungkan lingkungan tempat SDK berjalan. Misalnya, dalam wadah atau instance EC2.

## Buat klien layanan yang dikonfigurasi menggunakan pengaturan eksternal
<a name="create-client-ext-conf"></a>

Anda perlu membuat klien layanan di aplikasi Anda untuk berbicara dengan Layanan AWS. Pelanggan layanan adalah koneksi penting Anda Layanan AWS, menangani semua detail komunikasi yang kompleks sehingga Anda tidak perlu khawatir tentang mereka. Mereka menangani tugas-tugas penting seperti keamanan, penanganan kesalahan, dan percobaan ulang secara otomatis, memungkinkan Anda fokus pada membangun aplikasi Anda daripada berurusan dengan komplikasi teknis.

### Gunakan `create()` metode
<a name="create-client-ext-builder"></a>

Jika semua pengaturan konfigurasi yang Anda butuhkan berasal dari sumber eksternal, Anda dapat membuat klien layanan dengan metode sederhana:

```
S3Client s3Client = S3Client.create();
```

Cuplikan kode sebelumnya membuat sebuah `S3Client` instance. Selama pembuatan, SDK melihat melalui rantai penyedia konfigurasi untuk pengaturan. Setelah SDK menemukan nilai pengaturan, nilai akan digunakan bahkan jika konfigurasi ada yang nantinya dalam rantai.

Misalnya, asumsikan pengguna menetapkan pengaturan JVM untuk Wilayah AWS dengan menyetel properti sistem. `-Daws.region=us-west-2` Jika variabel `AWS_REGION` lingkungan juga diatur, nilainya diabaikan.

Rantai penyedia wilayah default dan rantai penyedia kredensi default juga akan digunakan dalam proses pembuatan. Di suatu tempat dalam rantai, SDK harus menyelesaikan pengaturan yang akan digunakan dan menemukan yang Wilayah AWS memungkinkannya mengambil kredensil untuk permintaan penandatanganan. Jika SDKs file untuk menemukan nilai-nilai tersebut, pembuatan klien gagal.

Meskipun Anda dapat membuat klien dengan menggunakan pola pembangun kosong ini, Anda biasanya menggunakan pola ini ketika Anda ingin [menambahkan konfigurasi dalam kode](configuring-service-clients-code.md#conf-service-client-code-basic).

## Variabel lingkungan SDK for Java 2.x dan properti sistem JVM
<a name="java-ext-config"></a>

Di luar [pengaturan cross-sdk](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html#settingsPages) yang didukung oleh sebagian besar AWS SDKs, SDK for Java 2.x menyediakan pengaturan berikut.

**catatan**  
Variabel lingkungan dan properti sistem JVM ini terutama ditujukan untuk kasus penggunaan lanjutan, pengujian, atau skenario penerapan tertentu. Di sebagian besar kode aplikasi, lebih baik menggunakan opsi konfigurasi terprogram yang disediakan oleh pembuat klien SDK untuk keamanan tipe dan dukungan IDE yang lebih baik.

### Variabel Lingkungan Penyedia Kredensi Kontainer
<a name="java-cred-profvider-envars"></a>

Selain variabel lingkungan kredensi kontainer standar yang didokumentasikan dalam panduan referensi, SDK juga mendukung:

`AWS_CONTAINER_SERVICE_ENDPOINT`—Variabel lingkungan ini menentukan titik akhir untuk layanan metadata kontainer saat menggunakan penyedia kredensi kontainer.

Properti sistem Java: `aws.containerServiceEndpoint`

Nilai default: `http://169.254.170.2`

### Variabel Lingkungan Implementasi Klien HTTP
<a name="java-http-cli-impl-envars"></a>

`SYNC_HTTP_SERVICE_IMPL`—Secara eksplisit mengidentifikasi [implementasi HTTP sinkron](http-configuration.md#http-config-sync) default yang akan digunakan SDK. Ini berguna ketika ada beberapa implementasi pada classpath atau sebagai pengoptimalan kinerja karena penemuan implementasi memerlukan pemindaian classpath.

Properti sistem Java: `software.amazon.awssdk.http.service.impl`

`ASYNC_HTTP_SERVICE_IMPL`—Secara eksplisit mengidentifikasi implementasi HTTP [asinkron](http-configuration.md#http-config-async) default yang akan digunakan SDK. Ini berguna ketika ada beberapa implementasi pada classpath atau sebagai pengoptimalan kinerja karena penemuan implementasi memerlukan pemindaian classpath.

Properti sistem Java: `software.amazon.awssdk.http.async.service.impl`