翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
スマート設定デフォルト
スマート設定のデフォルト機能では、 AWS SDKs は、他の構成設定用に事前定義された最適化されたデフォルト値を提供できます。
この機能を設定するには、以下のように使用します。
defaults_mode
- 共有 AWSconfig
ファイル設定AWS_DEFAULTS_MODE
- 環境変数aws.defaultsMode
- JVMシステムプロパティ: Java/Kotlin のみ-
この設定では、アプリケーションアーキテクチャに合ったモードを選択できます。これにより、アプリケーションに最適なデフォルト値が使用できるようになります。の場合 AWS SDK 設定には明示的に値が設定されており、その値は常に優先されます。の場合 AWS SDK 設定には明示的に設定された値はなく、レガシーと等しくないため、この機能
defaults_mode
はアプリケーションに最適化されたさまざまな設定に対して異なるデフォルト値を提供することができます。設定には、HTTP通信設定、再試行動作、サービスリージョンエンドポイント設定、および場合によっては SDK関連の設定が含まれます。この機能を使用するお客様は、一般的な使用シナリオに合わせた新しいデフォルト設定を取得できます。defaults_mode
が と等しくない場合はlegacy
、 をアップグレードするときにアプリケーションのテストを実行することをお勧めします。これはSDK、ベストプラクティスが進化するにつれて、提供されるデフォルト値が変わる可能性があるためです。デフォルト値:
legacy
注: の新しいメジャーバージョンSDKsはデフォルトで になります
standard
。有効な値:
-
legacy
– の確立前に存在SDKしていた および によって異なるデフォルト設定を提供しますdefaults_mode
。 -
standard
– ほとんどのシナリオで安全に実行できる最新の推奨デフォルト値を使用します。 -
in-region
– 標準モードに基づいて構築され、 を呼び出すアプリケーションに合わせた最適化が含まれています。 AWS のサービス 同じ 内から AWS リージョン. -
cross-region
– 標準モードに基づいて構築され、 を呼び出すアプリケーションに合わせた最適化が含まれています。 AWS のサービス 別のリージョンにある。 -
mobile
– 標準モードに基づいて構築されており、モバイルアプリケーションに合わせた最適化が含まれています。 -
auto
– 標準モードに基づいて構築されており、実験的な機能が含まれています。はランタイム環境を検出して、適切な設定を自動的に決定SDKしようとします。自動検出はヒューリスティックに基づいてあり、100% の精度は得られません。ランタイム環境を特定できない場合は、standard
モードが使用されます。自動検出では、インスタンスメタデータ がクエリされ、レイテンシーが発生する可能性があります。起動時のレイテンシーがアプリケーションにとって最重要な場合は、代わりに明示的なdefaults_mode
を選択することをおすすめします。
config
ファイルにこの値を設定する例を以下に示します。[default]
defaults_mode
= standard以下のパラメータは、
defaults_mode
の選択に基づいて最適化される可能性があります。-
retryMode
– SDK再試行方法を指定します。「再試行動作」を参照してください。 -
stsRegionalEndpoints
– が をどのようにSDK判断するかを指定します。 AWS のサービス との通信に使用する エンドポイント AWS Security Token Service (AWS STS)。 「」を参照してくださいAWS STS リージョンエンドポイント。 -
s3UsEast1RegionalEndpoints
– が をどのようにSDK判断するかを指定します。 AWSus-east-1
リージョンの Amazon S3 と通信するために使用する サービスエンドポイント。 -
connectTimeoutInMillis
– ソケットで初めて接続を試みた後、タイムアウトするまでの時間。クライアントが接続ハンドシェイクの完了を受け取らない場合、クライアントは断念しオペレーションは失敗します。 -
tlsNegotiationTimeoutInMillis
— CLIENTHELLOメッセージが送信された時点から、クライアントとサーバーが完全に暗号をネゴシエートし、キーを交換した時点まで、TLSハンドシェイクにかかる最大時間。
-
各設定のデフォルト値は、アプリケーションで選択した defaults_mode
によって異なります。これらの値は、現在以下のように設定されています(変更される可能性があります)。
パラメータ | standard モード |
in-region モード |
cross-region モード |
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 |
たとえば、選択した defaults_mode
が standard
の場合、standard
の値が(有効な retry_mode
オプションから)retry_mode
に割り当てられ、regional
の値が(有効な stsRegionalEndpoints
オプションから)stsRegionalEndpoints
に割り当てられます。
との互換性 AWS SDKs
このトピックで説明されている機能と設定SDKsを以下に示します。部分的な例外があれば、すべて記載されています。すべてのJVMシステムプロパティ設定は、 でサポートされています。 AWS SDK for Java と AWS SDK for Kotlin のみ。
SDK | サポート | 注意または詳細情報 |
---|---|---|
AWS CLI v2 | なし | |
SDK C++ 用 | あり | 最適化されていないパラメーター:stsRegionalEndpoints 、s3UsEast1RegionalEndpoints 、tlsNegotiationTimeoutInMillis 。 |
SDK Go V2 用 (1.x) |
あり | 最適化されていないパラメーター:retryMode 、stsRegionalEndpoints 、s3UsEast1RegionalEndpoints 。 |
SDK Go 1.x (V1) 用 | なし | |
SDK for Java 2.x | あり | 最適化されていないパラメーター:stsRegionalEndpoints 。 |
SDK for Java 1.x | なし | |
SDK JavaScript 3.x 用 | あり | 最適化されていないパラメーター:stsRegionalEndpoints 、s3UsEast1RegionalEndpoints 、tlsNegotiationTimeoutInMillis 。connectTimeoutInMillis は connectionTimeout と呼ばれます。 |
SDK JavaScript 2.x 用 | なし | |
SDK Kotlin 用 | なし | |
SDK の 。NET 3.x | あり | 最適化されていないパラメーター:connectTimeoutInMillis 、tlsNegotiationTimeoutInMillis 。 |
SDK 3.x PHP 用 | あり | 最適化されていないパラメーター:tlsNegotiationTimeoutInMillis 。 |
SDK for Python (Boto3) |
あり | 最適化されていないパラメーター:tlsNegotiationTimeoutInMillis 。 |
SDK Ruby 3.x 用 | あり | |
SDK Rust 用 | なし | |
SDK Swift 用 | なし | |
のツール PowerShell | あり | 最適化されていないパラメーター:connectTimeoutInMillis 、tlsNegotiationTimeoutInMillis 。 |