Standardeinstellungen für intelligente Konfigurationen - AWS SDKsund Tools

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Standardeinstellungen für intelligente Konfigurationen

Mit der Funktion „Standardeinstellungen für intelligente Konfigurationen“ AWS SDKskann vordefinierte, optimierte Standardwerte für andere Konfigurationseinstellungen bereitstellen.

Konfigurieren Sie diese Funktionalität wie folgt:

defaults_mode- geteilt AWS configDateieinstellung
AWS_DEFAULTS_MODE- Umgebungsvariable
aws.defaultsMode- JVM Systemeigenschaft: Nur Java/Kotlin

Mit dieser Einstellung können Sie einen Modus wählen, der zu Ihrer Anwendungsarchitektur passt und dann optimierte Standardwerte für Ihre Anwendung bereitstellt. Wenn ein AWS SDKFür eine Einstellung ist ein Wert explizit festgelegt, dann hat dieser Wert immer Vorrang. Wenn ein AWS SDKFür eine Einstellung wurde kein explizit festgelegter Wert festgelegt und defaults_mode sie entspricht auch nicht der alten Einstellung, kann diese Funktion unterschiedliche Standardwerte für verschiedene Einstellungen bereitstellen, die für Ihre Anwendung optimiert sind. Zu den Einstellungen können Folgendes gehören: HTTP Kommunikationseinstellungen, Wiederholungsverhalten, regionale Endpunkteinstellungen des Dienstes und möglicherweise jede zugehörige SDK Konfiguration. Kunden, die diese Funktion verwenden, können neue Standardkonfigurationen erhalten, die auf allgemeine Nutzungsszenarien zugeschnitten sind. Wenn Ihre nicht identisch defaults_mode ist, empfehlen wirlegacy, beim Upgrade von Tests Ihrer Anwendung durchzuführenSDK, da sich die angegebenen Standardwerte ändern können, wenn sich die bewährten Methoden weiterentwickeln.

Standardwert: legacy

Hinweis: Neue Hauptversionen von SDKs werden standardmäßig verwendetstandard.

Zulässige Werte:

  • legacy— Stellt Standardeinstellungen zur Verfügung, die je nach Einrichtung von variieren SDK und vor der Einrichtung von existiertendefaults_mode.

  • standard— Stellt die neuesten empfohlenen Standardwerte bereit, deren Ausführung in den meisten Szenarien sicher sein sollte.

  • in-region— Baut auf dem Standardmodus auf und beinhaltet eine Optimierung, die auf Anwendungen zugeschnitten ist, die AWS-Services aus demselben AWS-Region.

  • cross-region— Baut auf dem Standardmodus auf und beinhaltet eine Optimierung, die auf Anwendungen zugeschnitten ist, die aufrufen AWS-Services in einer anderen Region.

  • mobile— Baut auf dem Standardmodus auf und beinhaltet eine auf mobile Anwendungen zugeschnittene Optimierung.

  • auto— Baut auf dem Standardmodus auf und beinhaltet experimentelle Funktionen. Die SDK Versuche, die Laufzeitumgebung zu ermitteln, um die entsprechenden Einstellungen automatisch zu ermitteln. Die auto Erkennung basiert auf Heuristik und bietet keine hundertprozentige Genauigkeit. Wenn die Laufzeitumgebung nicht bestimmt werden kann, standard wird der Modus verwendet. Die auto Erkennung fragt möglicherweise Instanzmetadaten ab, was zu Latenz führen kann. Wenn die Startlatenz für Ihre Anwendung entscheidend ist, empfehlen wir, defaults_mode stattdessen eine explizite Latenz zu wählen.

Beispiel für die Einstellung dieses Werts in der config Datei:

[default] defaults_mode = standard

Die folgenden Parameter können basierend auf der Auswahl von optimiert werdendefaults_mode:

  • retryMode— Gibt an, wie die SDK Versuche wiederholt werden. Siehe Wiederholungsverhalten.

  • stsRegionalEndpoints— Gibt an, wie der SDK bestimmt AWS-Service Endpunkt, über den es mit dem kommuniziert AWS Security Token Service (AWS STS). SehtAWS STS Regionale Endpunkte.

  • s3UsEast1RegionalEndpoints— Gibt an, wie der SDK bestimmt AWS Service-Endpunkt, über den es mit Amazon S3 für die us-east-1 Region kommuniziert.

  • connectTimeoutInMillis— Nach einem ersten Verbindungsversuch auf einem Socket die Zeit bis zum Timeout. Wenn der Client den Abschluss des Connect-Handshakes nicht erhält, gibt der Client auf und schlägt den Vorgang fehl.

  • tlsNegotiationTimeoutInMillis— Die maximale Zeit, die ein TLS Handshake vom Senden der CLIENT HELLO Nachricht bis zu dem Zeitpunkt dauern kann, zu dem der Client und der Server die Chiffren vollständig ausgehandelt und Schlüssel ausgetauscht haben.

Der Standardwert für jede Einstellung ändert sich je nach der für Ihre Anwendung defaults_mode ausgewählten Einstellung. Diese Werte sind derzeit wie folgt festgelegt (Änderungen vorbehalten):

Parameter Modus standard Modus in-region Modus cross-region Modus 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

Wenn defaults_mode Sie beispielsweise „"“ ausgewählt habenstandard, wird der standard Wert für retry_mode (aus den gültigen retry_mode Optionen) und der regional Wert für stsRegionalEndpoints (aus den gültigen stsRegionalEndpoints Optionen) zugewiesen.

Kompatibilität mit AWS SDKs

Im Folgenden werden die in diesem Thema beschriebenen Funktionen und Einstellungen SDKs unterstützt. Alle teilweisen Ausnahmen werden vermerkt. Alle Einstellungen für JVM Systemeigenschaften werden unterstützt von AWS SDK for Java und die AWS SDK for Kotlin nur.

SDK Unterstützt Hinweise oder weitere Informationen
AWS CLI v2 Nein
SDKfür C++ Ja Parameter nicht optimiert:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis.
SDKfür Go V2 (1.x) Ja Parameter nicht optimiert:retryMode,stsRegionalEndpoints,s3UsEast1RegionalEndpoints.
SDKfür Go 1.x (V1) Nein
SDKfür Java 2.x Ja Parameter nicht optimiert:stsRegionalEndpoints.
SDKfür Java 1.x Nein
SDKfür 3.x JavaScript Ja Parameter nicht optimiert:stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis. connectTimeoutInMillisheißtconnectionTimeout.
SDKfür JavaScript 2.x Nein
SDKfür Kotlin Nein
SDKfür. NET3.x Ja Parameter nicht optimiert:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.
SDKfür PHP 3.x Ja Parameter nicht optimiert:tlsNegotiationTimeoutInMillis.
SDKfür Python (Boto3) Ja Parameter nicht optimiert:. tlsNegotiationTimeoutInMillis
SDKfür Ruby 3.x Ja
SDKfür Rust Nein
SDKfür Swift Nein
Tools für PowerShell Ja Parameter nicht optimiert:connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.