Paramètres de configuration intelligents par défaut - AWS SDKset outils

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Paramètres de configuration intelligents par défaut

Grâce à la fonction de configuration intelligente par défaut, AWS SDKspeut fournir des valeurs par défaut prédéfinies et optimisées pour d'autres paramètres de configuration.

Configurez cette fonctionnalité à l'aide des méthodes suivantes :

defaults_mode- partagé AWS configréglage du fichier
AWS_DEFAULTS_MODE- variable d'environnement
aws.defaultsMode- propriété JVM du système : Java/Kotlin uniquement

Avec ce paramètre, vous pouvez choisir un mode qui s'aligne sur l'architecture de votre application, qui fournit ensuite des valeurs par défaut optimisées pour votre application. Si un AWS SDKle paramètre a une valeur définie explicitement, alors cette valeur a toujours la priorité. Si un AWS SDKle paramètre n'a pas de valeur définie explicitement et n'defaults_modeest pas égal à l'ancien. Cette fonctionnalité peut alors fournir des valeurs par défaut différentes pour différents paramètres optimisés pour votre application. Les paramètres peuvent inclure les éléments suivants : les paramètres de HTTP communication, le comportement des nouvelles tentatives, les paramètres du point de terminaison régional du service et, éventuellement, toute configuration SDK associée. Les clients qui utilisent cette fonctionnalité peuvent obtenir de nouvelles configurations par défaut adaptées aux scénarios d'utilisation courants. Si vous defaults_mode n'êtes pas égal àlegacy, nous vous recommandons de tester votre application lors de la mise à niveauSDK, car les valeurs par défaut fournies peuvent changer au fur et à mesure de l'évolution des meilleures pratiques.

Valeur par défaut : legacy

Remarque : les nouvelles versions majeures de SDKs seront définies par défaut surstandard.

Valeurs valides:

  • legacy— Fournit des paramètres par défaut qui varient selon SDK et existaient avant la création dedefaults_mode.

  • standard— Fournit les dernières valeurs par défaut recommandées qui devraient pouvoir être exécutées en toute sécurité dans la plupart des scénarios.

  • in-region— S'appuie sur le mode standard et inclut une optimisation adaptée aux applications qui appellent Services AWS de l'intérieur du même Région AWS.

  • cross-region— S'appuie sur le mode standard et inclut une optimisation adaptée aux applications qui appellent Services AWS dans une autre région.

  • mobile— S'appuie sur le mode standard et inclut une optimisation adaptée aux applications mobiles.

  • auto— S'appuie sur le mode standard et inclut des fonctionnalités expérimentales. Les SDK tentatives de découverte de l'environnement d'exécution afin de déterminer automatiquement les paramètres appropriés. La détection automatique est basée sur l'heuristique et ne fournit pas une précision de 100 %. Si l'environnement d'exécution ne peut pas être déterminé, standard le mode est utilisé. La détection automatique peut interroger les métadonnées de l'instance, ce qui peut introduire de la latence. Si la latence de démarrage est essentielle pour votre application, nous vous recommandons de choisir une latence explicite à la defaults_mode place.

Exemple de définition de cette valeur dans le config fichier :

[default] defaults_mode = standard

Les paramètres suivants peuvent être optimisés en fonction de la sélection de defaults_mode :

  • retryMode— Spécifie la manière dont les SDK tentatives sont renouvelées. Consultez Comportement de nouvelle tentative.

  • stsRegionalEndpoints— Spécifie la manière SDK dont le Service AWS point de terminaison qu'il utilise pour communiquer avec AWS Security Token Service (AWS STS). VoirAWS STS Points de terminaison régionaux.

  • s3UsEast1RegionalEndpoints— Spécifie la manière SDK dont le AWS point de terminaison de service qu'il utilise pour communiquer avec l'Amazon S3 de la us-east-1 région.

  • connectTimeoutInMillis— Après avoir effectué une première tentative de connexion sur un socket, délai avant l'expiration du délai imparti. Si le client ne reçoit pas de confirmation de connexion terminée, il abandonne l'opération et échoue.

  • tlsNegotiationTimeoutInMillis— Le temps maximum qu'une TLS poignée de main peut prendre entre le moment où le CLIENT HELLO message est envoyé et le moment où le client et le serveur ont entièrement négocié les chiffrements et échangé les clés.

La valeur par défaut de chaque paramètre change en fonction de defaults_mode celui sélectionné pour votre application. Ces valeurs sont actuellement définies comme suit (sous réserve de modifications) :

Paramètre 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 30 000
tlsNegotiationTimeoutInMillis 3100 1100 3100 30 000

Par exemple, si defaults_mode vous avez sélectionné l'étaitstandard, la valeur de standard serait attribuée à retry_mode (à partir des retry_mode options valides) et la valeur de regional serait affectée à stsRegionalEndpoints (à partir des stsRegionalEndpoints options valides).

Compatibilité avec AWS SDKs

Les éléments suivants SDKs prennent en charge les fonctionnalités et les paramètres décrits dans cette rubrique. Toute exception partielle est notée. Tous les paramètres des propriétés du JVM système sont pris en charge par AWS SDK for Java et le Kit AWS SDK pour Kotlin uniquement.

SDK Pris en charge Remarques ou informations supplémentaires
AWS CLI v2 Non
SDKpour C++ Oui Paramètres non optimisés :stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis.
SDKpour Go V2 (1.x) Oui Paramètres non optimisés :retryMode,stsRegionalEndpoints,s3UsEast1RegionalEndpoints.
SDKpour Go 1.x (V1) Non
SDKpour Java 2.x Oui Paramètres non optimisés :stsRegionalEndpoints.
SDKpour Java 1.x Non
SDKpour JavaScript 3.x Oui Paramètres non optimisés :stsRegionalEndpoints,s3UsEast1RegionalEndpoints,tlsNegotiationTimeoutInMillis. connectTimeoutInMillisest appeléconnectionTimeout.
SDKpour JavaScript 2.x Non
SDKpour Kotlin Non
SDKpour. NET3. x Oui Paramètres non optimisés :connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.
SDKpour PHP 3.x Oui Paramètres non optimisés :tlsNegotiationTimeoutInMillis.
SDKpour Python (Boto3) Oui Paramètres non optimisés :tlsNegotiationTimeoutInMillis.
SDKpour Ruby 3.x Oui
SDKpour Rust Non
SDKpour Swift Non
Outils pour PowerShell Oui Paramètres non optimisés :connectTimeoutInMillis,tlsNegotiationTimeoutInMillis.