Mengkonfigurasi klien layanan untuk eksternal AWS SDK for Java 2.x - AWS SDK for Java 2.x

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

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. configFile 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 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 Alat AWS SDKs dan Alat.

Rantai penyedia konfigurasi untuk konfigurasi klien

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.

  2. Properti sistem JVM

  3. Variabel-variabel lingkungan

    • Untuk detail tentang pengaturan variabel lingkungan, lihat variabel lingkungan 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.

  4. Berbagi config dan credentials file

  5. 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 bersamaconfig. 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.Wilayah AWS Rantai khusus ini menambahkan penyedia tambahan yang memperhitungkan lingkungan tempat SDK berjalan. Misalnya, dalam wadah atau EC2 instance.

Buat klien layanan yang dikonfigurasi menggunakan pengaturan eksternal

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

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.

Variabel lingkungan SDK for Java 2.x dan properti sistem JVM

Di luar pengaturan cross-sdk 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

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

SYNC_HTTP_SERVICE_IMPL—Secara eksplisit mengidentifikasi implementasi HTTP sinkron 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 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