Configuration des clients de service pour les applications AWS SDK for Java 2.x externes - AWS SDK for Java 2.x

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.

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

  2. Propriétés du système JVM

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

  4. Partage config et credentials fichiers

  5. 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_REGIONenvironnement 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