View a markdown version of this page

Default konfigurasi cerdas - AWS SDK dan Alat

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

Default konfigurasi cerdas

catatan

Untuk bantuan dalam memahami tata letak halaman pengaturan, atau dalam menafsirkan tabel AWS Dukungan oleh SDK dan alat berikut, lihatMemahami halaman pengaturan panduan ini.

Dengan fitur default konfigurasi cerdas, AWS SDK dapat memberikan nilai default yang telah ditentukan sebelumnya dan dioptimalkan untuk pengaturan konfigurasi lainnya.

Konfigurasikan fungsi ini dengan menggunakan yang berikut:

defaults_mode- pengaturan AWS config file bersama
AWS_DEFAULTS_MODE- variabel lingkungan
aws.defaultsMode- Properti sistem JVM: hanya Java/Kotlin

Dengan pengaturan ini, Anda dapat memilih mode yang selaras dengan arsitektur aplikasi Anda, yang kemudian memberikan nilai default yang dioptimalkan untuk aplikasi Anda. Jika setelan AWS SDK memiliki nilai yang ditetapkan secara eksplisit, maka nilai itu selalu diutamakan. Jika set AWS elan SDK tidak memiliki nilai yang ditetapkan secara eksplisit, dan defaults_mode tidak sama dengan warisan, maka fitur ini dapat memberikan nilai default yang berbeda untuk berbagai pengaturan yang dioptimalkan untuk aplikasi Anda. Pengaturan mungkin termasuk yang berikut: pengaturan komunikasi HTTP, perilaku coba ulang, layanan Setelan titik akhir regional, dan, berpotensi, SDK-related konfigurasi apa pun. Pelanggan yang menggunakan fitur ini bisa mendapatkan default konfigurasi baru yang disesuaikan dengan skenario penggunaan umum. Jika Anda defaults_mode tidak sama denganlegacy, sebaiknya lakukan pengujian aplikasi Anda saat Anda memutakhirkan SDK, karena nilai default yang diberikan mungkin berubah seiring perkembangan praktik terbaik.

Nilai default: legacy

Catatan: Versi utama SDK baru akan default kestandard.

Nilai yang valid:

  • legacy- Menyediakan pengaturan default yang bervariasi menurut SDK dan ada sebelum pembentukandefaults_mode.

  • standard- Menyediakan nilai default terbaru yang direkomendasikan yang seharusnya aman dijalankan di sebagian besar skenario.

  • in-region- Dibangun pada mode standar dan termasuk pengoptimalan yang disesuaikan untuk aplikasi yang memang Layanan AWS gil dari dalam yang sama Wilayah AWS.

  • cross-region- Dibangun pada mode standar dan termasuk pengoptimalan yang disesuaikan untuk aplikasi yang memanggil Layanan AWS di Wilayah yang berbeda.

  • mobile- Dibangun pada mode standar dan termasuk pengoptimalan yang disesuaikan untuk aplikasi seluler.

  • auto— Dibangun pada mode standar dan mencakup fitur eksperimental. SDK mencoba menemukan lingkungan runtime untuk menentukan pengaturan yang sesuai secara otomatis. Deteksi otomatis berbasis heuristik dan tidak memberikan akurasi 100%. Jika lingkungan runtime tidak dapat ditentukan, standard mode digunakan. Deteksi otomatis mungkin menanyakan metadata instance, yang mungkin memperkenalkan latensi. Jika latensi startup sangat penting untuk aplikasi Anda, sebaiknya pilih yang eksplisit sebagai defaults_mode gantinya.

Contoh pengaturan nilai ini dalam config file:

[default] defaults_mode = standard

Parameter berikut mungkin dioptimalkan berdasarkan pemilihandefaults_mode:

  • retryMode— Menentukan bagaimana SDK mencoba lagi. Lihat Perilaku coba lagi.

  • stsRegionalEndpoints— Menentukan bagaimana SDK menentukan Layanan AWS titik akhir yang digunakan untuk berbicara dengan AWS Security Token Service (AWS STS). Lihat AWS STS Titik akhir Regional.

  • s3UsEast1RegionalEndpoints— Menentukan bagaimana SDK menentukan titik akhir AWS layanan yang digunakan untuk berbicara dengan Amazon S3 untuk Wil us-east-1 ayah.

  • connectTimeoutInMillis- Setelah melakukan upaya koneksi awal pada soket, jumlah waktu sebelum waktu habis. Jika klien tidak menerima penyelesaian jabat tangan terhubung, klien menyerah dan gagal dalam operasi.

  • tlsNegotiationTimeoutInMillis— Jumlah waktu maksimum yang dapat diambil jabat tangan TLS dari saat pesan CLIENT HELLO dikirim hingga saat klien dan server telah menegosiasikan sandi sepenuhnya dan bertukar kunci.

Nilai default untuk setiap pengaturan berubah tergantung pada yang defaults_mode dipilih untuk aplikasi Anda. Nilai-nilai ini saat ini ditetapkan sebagai berikut (dapat berubah):

Parameter Mode standard Mode in-region Mode cross-region Mode mobile
retryMode standard standard standard standard
stsRegionalEndpoints regional regional regional regional
s3UsEast1RegionalEndpoints regional regional regional regional
connectTimeoutInMillis 3100 1100 3100 30000
tlsNegotiationTimeoutInMillis 3100 1100 3100 30000

Misalnya, jika yang defaults_mode Anda pilih adalahstandard, maka nilai standard akan ditetapkan untuk retry_mode (dari retry_mode opsi yang valid) dan nilai regional akan ditetapkan untuk stsRegionalEndpoints (dari stsRegionalEndpoints opsi yang valid).

Dukungan oleh AWS SDK dan alat

SDK berikut mendukung fitur dan pengaturan yang dijelaskan dalam topik ini. Setiap pengecualian sebagian dicatat. Setiap pengaturan properti sistem JVM didukung oleh AWS SDK untuk Java dan AWS SDK untuk Kotlin satu-satunya.

SDK Didukung Catatan atau informasi lebih lanjut
AWS CLI v2 Tidak
SDK untuk C++ Ya Parameter tidak dioptimalkan:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis.
SDK untuk Go V2 (1.x) Ya Parameter tidak dioptimalkan:retryMode,stsRegionalEndpoints,s3UsEast1RegionalEndpoints.
SDK untuk Go 1.x (V1) Tidak
SDK untuk Java 2.x Ya Parameter tidak dioptimalkan:stsRegionalEndpoints.
SDK untuk Java 1.x Tidak
SDK untuk JavaScript 3.x Ya Parameter tidak dioptimalkan:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis. connectTimeoutInMillisdisebutconnectionTimeout.
SDK untuk JavaScript 2.x Tidak
SDK para Kotlin Tidak
SDK untuk.NET 4.x Ya Parameter tidak dioptimalkan:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.
SDK untuk.NET 3.x Ya Parameter tidak dioptimalkan:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.
SDK para PHP 3.x Ya Parameter tidak dioptimalkan:tlsNegotiationTimeoutInMillis.
SDK untuk Python (Boto3) Ya Parameter tidak dioptimalkan:tlsNegotiationTimeoutInMillis.
SDK para Ruby 3.x Ya
SDK para Rust Tidak
SDK para Swift Tidak
Alat untuk PowerShell V5 Ya Parameter tidak dioptimalkan:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.
Alat untuk PowerShell V4 Ya Parameter tidak dioptimalkan:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.