

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.

# À l'aide du AWS SDK for Java 2.x
<a name="using"></a>

Ce chapitre explique comment utiliser AWS SDK for Java 2.x efficacement le. Apprenez à créer des clients de service, à faire des demandes, à gérer les réponses et à gérer les erreurs. Le chapitre couvre la programmation synchrone et asynchrone, les résultats paginés, les serveurs pour la surveillance des ressources et l'optimisation des performances. 

Vous trouverez également les meilleures pratiques en matière de réutilisation des clients, des conseils de dépannage, l'optimisation du démarrage Lambda, le support HTTP/2 et la configuration DNS.

**Contents**
+ [Faire des Service AWS demandes à l'aide du AWS SDK for Java 2.x](work-witih-clients.md)
  + [Utiliser les clients du service pour faire des demandes](work-witih-clients.md#using-service-client)
    + [Création d'un client de service](work-witih-clients.md#work-with-clients-create)
    + [Configuration du client par défaut](work-witih-clients.md#using-default-client)
    + [Configuration des clients de service](work-witih-clients.md#using-configure-service-clients)
    + [Fermer le client de service](work-witih-clients.md#using-closing-client)
  + [Faites des demandes](work-witih-clients.md#using-making-requests)
    + [Utiliser des demandes pour annuler la configuration du client](work-witih-clients.md#using-override-client-config-request)
  + [Gérer les réponses](work-witih-clients.md#using-handling-responses)
+ [Programmation asynchrone à l'aide du AWS SDK for Java 2.x](asynchronous.md)
  + [Utiliser un client asynchrone APIs](asynchronous.md#basics-async-non-streaming)
  + [Gérez le streaming dans des méthodes asynchrones](asynchronous.md#basics-async-streaming)
  + [Configuration des options asynchrones avancées](asynchronous.md#advanced-operations)
+ [Bonnes pratiques d'utilisation du AWS SDK for Java 2.x](best-practices.md)
  + [Empêchez le blocage des demandes en configurant les délais d'expiration des API](best-practices.md#bestpractice5)
  + [Améliorez les performances en réutilisant les clients du service](best-practices.md#bestpractice1)
  + [Empêchez les fuites de ressources en fermant les clients de service non utilisés](best-practices.md#bestpractice-close-client)
  + [Empêchez l'épuisement du pool de connexions en fermant les flux d'entrée](best-practices.md#bestpractice2)
  + [Optimisez les performances HTTP pour la charge de travail de votre application](best-practices.md#bestpractice3)
  + [Améliorez les performances SSL avec OpenSSL pour les clients asynchrones](best-practices.md#bestpractice4)
  + [Surveillez les performances des applications à l'aide des métriques du SDK](best-practices.md#bestpractice6)
+ [Gestion des erreurs dans AWS SDK for Java 2.x](handling-exceptions.md)
  + [Pourquoi des exceptions non contrôlées ?](handling-exceptions.md#why-unchecked-exceptions)
  + [AwsServiceException (et sous-classes)](handling-exceptions.md#sdkserviceexception-and-subclasses)
  + [SdkClientException](handling-exceptions.md#sdkclientexception)
  + [Exceptions et comportement en cas de nouvelle tentative](handling-exceptions.md#retried-exceptions)
+ [Utilisation de résultats paginés dans la version 2.x AWS SDK pour Java](pagination.md)
  + [Pagination synchrone](pagination.md#synchronous-pagination)
    + [Itérer sur les pages](pagination.md#iterate-pages)
    + [Itérer sur des objets](pagination.md#iterate-objects)
      + [Utiliser un stream](pagination.md#use-a-stream)
      + [Utilisez une boucle pour chaque](pagination.md#for-loop)
    + [Pagination manuelle](pagination.md#manual-pagination)
  + [Pagination asynchrone](pagination.md#asynchronous-pagination)
    + [Itérer sur les pages des noms de tables](pagination.md#iterate-pages-async)
      + [Utilisez un `Subscriber`](pagination.md#use-a-subscriber)
      + [Utilisez un `Consumer`](pagination.md#id1pagination)
    + [Itérer sur les noms des tables](pagination.md#iterate-objects-async)
      + [Utilisez un `Subscriber`](pagination.md#id2)
      + [Utilisez un `Consumer`](pagination.md#for-loop-async)
    + [Utiliser une bibliothèque tierce](pagination.md#use-third-party-library)
+ [Utilisation de serveurs dans le AWS SDK for Java 2.x](waiters.md)
  + [Conditions préalables](waiters.md#prerequisiteswaiters)
  + [Utiliser des serveurs](waiters.md#id1waiters)
    + [Programmation synchrone](waiters.md#synchronous-programming)
    + [Programmation asynchrone](waiters.md#asynchronous-programming)
  + [Configuration des serveurs](waiters.md#configuring-waiters)
    + [Configurer un serveur](waiters.md#configure-a-waiter)
    + [Configuration de remplacement pour une demande spécifique](waiters.md#override-configuration-for-a-specific-request)
  + [Exemples de code](waiters.md#code-examples)
+ [Résolution des problèmes FAQs](troubleshooting.md)
  + [Comment corriger l'erreur « `java.net.SocketException` : Réinitialisation de la connexion » ou « Le serveur n'a pas réussi à terminer la réponse » ?](troubleshooting.md#faq-socketexception)
  + [Comment corriger le « délai de connexion » ?](troubleshooting.md#faq-connection-timeout)
  + [Comment corriger « `java.net.SocketTimeoutException` : Expiration du délai de lecture » ?](troubleshooting.md#faq-socket-timeout)
  + [Comment corriger l'erreur « Impossible d'exécuter la requête HTTP : délai d'attente de connexion depuis le pool » ?](troubleshooting.md#faq-pool-timeout)
  + [Comment réparer un`NoClassDefFoundError`, `NoSuchMethodError` ou `NoSuchFieldError` ?](troubleshooting.md#faq-classpath-errors)
  + [Comment corriger une erreur « » ou une erreur `SignatureDoesNotMatch` « La signature de demande que nous avons calculée ne correspond pas à la signature que vous avez fournie » ?](troubleshooting.md#faq-signature-does-not-match-error)
  + [Comment corriger l'erreur « `java.lang.IllegalStateException` : arrêt du pool de connexions » ?](troubleshooting.md#faq-connection-pool-shutdown-exception)
  + [Comment corriger le problème « Impossible de charger les informations d'identification provenant de l'un des fournisseurs de la chaîne AwsCredentialsProviderChain » ?](troubleshooting.md#faq-credentials-provider-chain)
    + [Causes courantes et solutions](troubleshooting.md#faq-cred-provider-chain-common-causes-and-solutions)
      + [Vérifiez la configuration de vos informations d'identification](troubleshooting.md#faq-cred-provider-chain-check-config)
        + [Pour les instances Amazon EC2](troubleshooting.md#faq-cred-check-ec2)
        + [Pour les environnements de conteneurs](troubleshooting.md#faq-cred-check-container-env)
        + [Pour le développement local](troubleshooting.md#faq-cred-check-local-dev)
        + [Pour la fédération des identités Web](troubleshooting.md#faq-cred-check-web-id-federation)
      + [Problèmes de connectivité réseau ou proxy](troubleshooting.md#faq-credentials-provider-chain-network-issues)
+ [Réduisez le temps de démarrage du SDK pour AWS Lambda](lambda-optimize-starttime.md)
  + [Utiliser un client HTTP AWS basé sur CRT](lambda-optimize-starttime.md#lambda-quick-url)
  + [Supprimer les dépendances du client HTTP inutilisées](lambda-optimize-starttime.md#lambda-quick-remove-deps)
  + [Configuration des clients de service pour des recherches de raccourcis](lambda-optimize-starttime.md#lambda-quick-clients)
  + [Initialisez le client SDK en dehors du gestionnaire de fonctions Lambda](lambda-optimize-starttime.md#lambda-quick-initialize)
  + [Minimiser l'injection de dépendance](lambda-optimize-starttime.md#lambda-quick-di)
  + [Utilisez un archétype de ciblage Maven AWS Lambda](lambda-optimize-starttime.md#lambda-quick-maven)
  + [Pensez à Lambda SnapStart pour Java](lambda-optimize-starttime.md#lambda-quick-snapstart)
  + [Modifications de la version 2.x qui affectent le temps de démarrage](lambda-optimize-starttime.md#example-client-configuration)
  + [Ressources supplémentaires](lambda-optimize-starttime.md#lambda-quick-resources)
+ [`ContentStreamProvider`Implémenter dans le AWS SDK for Java 2.x](content-stream-provider.md)
  + [Utilisation de `mark()` et `reset()`](content-stream-provider.md#csp-impl-mark-reset)
  + [Utiliser la mise en mémoire tampon si `mark()` et si ce n'`reset()`est pas le cas](content-stream-provider.md#csp-impl-unsupported-streams)
  + [Créez de nouveaux streams](content-stream-provider.md#csp-impl-new-stream)
+ [Définissez le TTL de la JVM pour les recherches de noms DNS](jvm-ttl-dns.md)
  + [Comment configurer le JVM TTL](jvm-ttl-dns.md#how-to-set-the-jvm-ttl)
    + [Option 1 : définissez-le par programmation dans votre application](jvm-ttl-dns.md#set-ttl-programmatically)
    + [Option 2 : définissez-le dans le fichier java.security](jvm-ttl-dns.md#set-ttl-java-security-file)
    + [Option 3 : utiliser la solution de remplacement des propriétés du système JDK (ligne de commande)](jvm-ttl-dns.md#set-ttl-system-property)
+ [Travaillez avec HTTP/2 dans AWS SDK pour Java](http2.md)