Default konfigurasi cerdas - AWS SDKsdan Alat

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

Default konfigurasi cerdas

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

Konfigurasikan fungsi ini dengan menggunakan yang berikut:

defaults_mode- dibagikan AWS configpengaturan file
AWS_DEFAULTS_MODE- variabel lingkungan
aws.defaultsMode- properti JVM sistem: 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 AWS SDKpengaturan memiliki nilai yang ditetapkan secara eksplisit, maka nilai itu selalu diutamakan. Jika AWS SDKpengaturan 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 dapat mencakup hal berikut: pengaturan HTTP komunikasi, perilaku coba lagi, pengaturan titik akhir Regional layanan, dan, berpotensi, konfigurasi SDK terkait 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 saat Anda memutakhirkanSDK, karena nilai default yang diberikan mungkin berubah seiring dengan perkembangan praktik terbaik.

Nilai default: legacy

Catatan: Versi utama baru SDKs akan default kestandard.

Nilai yang valid:

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

  • standard— Memberikan nilai default terbaru yang direkomendasikan yang harus aman untuk dijalankan di sebagian besar skenario.

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

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

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

  • auto— Dibangun pada mode standar dan termasuk fitur eksperimental. SDKUpaya untuk 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 eksplisitdefaults_mode.

Contoh pengaturan nilai ini dalam config file:

[default] defaults_mode = standard

Parameter berikut dapat dioptimalkan berdasarkan pemilihandefaults_mode:

  • retryMode— Menentukan bagaimana SDK upaya mencoba lagi. Lihat Coba lagi perilaku.

  • stsRegionalEndpoints- Menentukan bagaimana SDK menentukan Layanan AWS titik akhir yang digunakannya untuk berbicara dengan AWS Security Token Service (AWS STS). LihatAWS STS Titik akhir regional.

  • s3UsEast1RegionalEndpoints- Menentukan bagaimana SDK menentukan AWS titik akhir layanan yang digunakannya untuk berbicara dengan Amazon S3 untuk us-east-1 Wilayah tersebut.

  • 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.

  • tlsNegotiationTimeoutInMillisJumlah maksimum waktu yang dapat diambil oleh TLS jabat tangan dari saat CLIENT HELLO pesan dikirim ke waktu klien dan server telah sepenuhnya menegosiasikan sandi 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 sewaktu-waktu):

Parameter standardmodus in-regionmodus cross-regionmodus mobilemodus
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).

Kompatibilitas dengan AWS SDKs

Berikut ini SDKs mendukung fitur dan pengaturan yang dijelaskan dalam topik ini. Setiap pengecualian sebagian dicatat. Pengaturan properti JVM sistem apa pun didukung oleh AWS SDK for Java dan AWS SDK for Kotlin hanya.

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