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.
Configuration des clients de service pour les applications AWS SDK for Java 2.x externes
De nombreux paramètres de configuration peuvent être gérés en dehors de votre code. Lorsque vous gérez la configuration en externe, elle peut s'appliquer à toutes vos applications dans le même processus Java. La plupart des paramètres de configuration peuvent être définis sous forme de variables d'environnement, de propriétés du système JVM ou dans un AWS config
fichier partagé distinct. Le config
fichier partagé peut gérer des ensembles de paramètres distincts, appelés profils, afin de fournir différentes configurations pour différents environnements ou tests.
La plupart des variables d'environnement et des paramètres de config
fichiers partagés sont standardisés AWS SDKs et partagés entre des outils permettant de garantir des fonctionnalités cohérentes entre les différents langages de programmation et applications. Dans la plupart des cas, les propriétés du système JVM que le SDK for Java peut utiliser reflètent les variables d'environnement.
Consultez le guide de référence AWS SDKs and Tools pour en savoir plus sur la configuration de votre application à l'aide de ces méthodes, ainsi que des détails sur chaque paramètre inter-SDK. Pour voir tous les paramètres que le SDK peut résoudre à partir des variables d'environnement, des propriétés du système JVM ou des fichiers de configuration, consultez la référence des paramètres dans le guide de référence AWS SDKs and Tools.
Chaîne de fournisseurs de configuration pour la configuration du client
Le SDK vérifie plusieurs emplacements (ou sources) pour trouver des valeurs de configuration.
-
Tout paramètre explicite défini dans le code ou sur un client de service lui-même a priorité sur tout autre paramètre.
-
Propriétés du système JVM
-
Pour plus de détails sur la définition des propriétés du système JVM, voir Comment définir les propriétés du système JVM dans le guide de référence des outils AWS SDKs and.
-
-
Variables d’environnement
-
Pour plus de détails sur la définition des variables d'environnement, voir les variables d'environnement dans le guide de référence AWS SDKs et Tools.
-
Notez que vous pouvez configurer des variables d'environnement pour un shell à différents niveaux de portée : à l'échelle du système, à l'échelle de l'utilisateur et pour une session de terminal spécifique.
-
-
Partage
config
etcredentials
fichiers-
Pour plus de détails sur la configuration de ces fichiers, consultez les sections Shared
config
etcredentials
files dans le guide de référence AWS SDKs and Tools.
-
-
Toute valeur par défaut fournie par le code source du SDK lui-même est utilisée en dernier.
-
Certaines propriétés, telles que Region, n'ont pas de valeur par défaut. Vous devez les spécifier de manière explicite dans le code, dans un paramètre d'environnement ou dans le
config
fichier partagé. Si le SDK ne parvient pas à résoudre la configuration requise, les demandes d'API peuvent échouer lors de l'exécution.
-
Outre cette chaîne de configuration générale, le SDK pour Java 2.x utilise également des chaînes de fournisseurs spécialisées, notamment la chaîne de fournisseurs d'informations d'identification et Région AWS la chaîne de fournisseurs. Ces chaînes spécialisées ajoutent des fournisseurs supplémentaires qui tiennent compte de l'environnement dans lequel le SDK s'exécute. Par exemple, dans un conteneur ou une EC2 instance.
Création d'un client de service configuré à l'aide de paramètres externes
Vous devez créer un client de service dans votre application pour parler à un Service AWS. Les clients du service sont votre lien essentiel. Services AWS Ils gèrent tous les détails complexes des communications afin que vous n'ayez pas à vous soucier d'eux. Ils prennent en charge des tâches importantes telles que la sécurité, la gestion des erreurs et les nouvelles tentatives automatiquement, ce qui vous permet de vous concentrer sur le développement de votre application plutôt que sur les complications techniques.
Utilisez la create()
méthode
Si tous les paramètres de configuration dont vous avez besoin proviennent de sources externes, vous pouvez créer un client de service à l'aide d'une méthode simple :
S3Client s3Client = S3Client.create();
L'extrait de code précédent crée une S3Client
instance. Lors de la création, le SDK analyse les paramètres dans la chaîne des fournisseurs de configuration. Une fois que le SDK a trouvé une valeur de paramètre, celle-ci sera utilisée même s'il existe une configuration ultérieure dans la chaîne.
Supposons, par exemple, qu'un utilisateur définisse le paramètre JVM pour le Région AWS en définissant la propriété -Daws.region=us-west-2
système. Si la variable d'AWS_REGION
environnement est également définie, sa valeur est ignorée.
La chaîne de fournisseurs de régions par défaut et la chaîne de fournisseurs d'informations d'identification par défaut seront également utilisées dans le processus de création. À un stade quelconque de la chaîne, le SDK doit résoudre les paramètres Région AWS à utiliser et à rechercher qui lui permettent de récupérer les informations d'identification pour les demandes de signature. Si les SDKs fichiers trouvent ces valeurs, la création du client échoue.
Bien que vous puissiez créer un client en utilisant ce modèle de générateur vide, vous utilisez généralement ce modèle lorsque vous souhaitez ajouter une configuration dans le code.
Variables d'environnement et propriétés du système JVM du SDK for Java 2.x
Outre les paramètres inter-SDK pris en charge par la plupart AWS SDKs, le SDK pour Java 2.x fournit les paramètres suivants.
Note
Ces variables d'environnement et propriétés du système JVM sont principalement destinées à des cas d'utilisation avancés, à des tests ou à des scénarios de déploiement spécifiques. Dans la plupart des codes d'application, il est préférable d'utiliser les options de configuration programmatique fournies par les créateurs de clients du SDK pour une meilleure sécurité des types et une meilleure prise en charge de l'IDE.
Variables d'environnement du fournisseur d'informations d'identification du conteneur
Outre les variables d'environnement d'identification de conteneur standard décrites dans le guide de référence, le SDK prend également en charge :
AWS_CONTAINER_SERVICE_ENDPOINT
—Cette variable d'environnement spécifie le point de terminaison du service de métadonnées du conteneur lors de l'utilisation du fournisseur d'informations d'identification du conteneur.
Propriété du système Java : aws.containerServiceEndpoint
Valeur par défaut : http://169.254.170.2
Variables d'environnement d'implémentation du client HTTP
SYNC_HTTP_SERVICE_IMPL
—Identifie explicitement l'implémentation HTTP synchrone par défaut que le SDK utilisera. Cela est utile lorsqu'il existe plusieurs implémentations sur le chemin de classe ou pour optimiser les performances, car la découverte des implémentations nécessite une analyse du chemin de classe.
Propriété du système Java : software.amazon.awssdk.http.service.impl
ASYNC_HTTP_SERVICE_IMPL
—Identifie explicitement l'implémentation HTTP asynchrone par défaut que le SDK utilisera. Cela est utile lorsqu'il existe plusieurs implémentations sur le chemin de classe ou pour optimiser les performances, car la découverte des implémentations nécessite une analyse du chemin de classe.
Propriété du système Java : software.amazon.awssdk.http.async.service.impl