

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso del AWS SDK for Java 2.x
<a name="using"></a>

En este capítulo se muestra cómo utilizarlos de AWS SDK for Java 2.x forma eficaz. Aprenda a crear clientes de servicio, realizar solicitudes, administrar respuestas y administrar errores. Este capítulo trata sobre programación síncrona y asíncrona, resultados paginados, esperadores para la monitorización de recursos y optimización del rendimiento. 

También se hablará de prácticas recomendadas para la reutilización de clientes, instrucciones de solución de problemas, optimización del inicio de Lambda, compatibilidad con HTTP/2 y configuración de DNS.

**Contents**
+ [Realizar Servicio de AWS solicitudes utilizando el AWS SDK for Java 2.x](work-witih-clients.md)
  + [Uso de clientes de servicio para realizar solicitudes](work-witih-clients.md#using-service-client)
    + [Crear un cliente de servicio](work-witih-clients.md#work-with-clients-create)
    + [Configuración predeterminada de cliente](work-witih-clients.md#using-default-client)
    + [Configurar clientes de servicio](work-witih-clients.md#using-configure-service-clients)
    + [Cerrar el cliente de servicio](work-witih-clients.md#using-closing-client)
  + [Hacer solicitudes](work-witih-clients.md#using-making-requests)
    + [Uso de solicitudes para anular la configuración de clientes](work-witih-clients.md#using-override-client-config-request)
  + [Tratamiento de respuestas](work-witih-clients.md#using-handling-responses)
+ [Programación asincrónica mediante AWS SDK for Java 2.x](asynchronous.md)
  + [Uso de API de cliente asincrónicas](asynchronous.md#basics-async-non-streaming)
  + [Administración de streaming en métodos asincrónicos](asynchronous.md#basics-async-streaming)
  + [Configuración de opciones asincrónicas avanzadas](asynchronous.md#advanced-operations)
+ [Mejores prácticas para usar el AWS SDK for Java 2.x](best-practices.md)
  + [Prevención del bloqueo de solicitudes configurando tiempos de espera de la API](best-practices.md#bestpractice5)
  + [Mejora del rendimiento reutilizando clientes de servicio](best-practices.md#bestpractice1)
  + [Prevención de pérdidas de recursos cerrando los clientes de servicio no utilizados](best-practices.md#bestpractice-close-client)
  + [Prevención del agotamiento de grupos de conexiones cerrando flujos de entrada](best-practices.md#bestpractice2)
  + [Optimización del rendimiento de HTTP para la carga de trabajo de la aplicación](best-practices.md#bestpractice3)
  + [Mejora del rendimiento de SSL con OpenSSL para clientes asincrónicos](best-practices.md#bestpractice4)
  + [Monitorización del rendimiento de las aplicaciones con métricas del SDK](best-practices.md#bestpractice6)
+ [Manejo de errores en el AWS SDK for Java 2.x](handling-exceptions.md)
  + [¿Por qué excepciones no controladas?](handling-exceptions.md#why-unchecked-exceptions)
  + [AwsServiceException (y subclases)](handling-exceptions.md#sdkserviceexception-and-subclasses)
  + [SdkClientException](handling-exceptions.md#sdkclientexception)
  + [Excepciones y comportamiento de reintentos](handling-exceptions.md#retried-exceptions)
+ [Uso de resultados paginados en la versión 2.x AWS SDK para Java](pagination.md)
  + [Paginación síncrona](pagination.md#synchronous-pagination)
    + [Iterar sobre páginas](pagination.md#iterate-pages)
    + [Iterar sobre objetos](pagination.md#iterate-objects)
      + [Usar un stream](pagination.md#use-a-stream)
      + [Usar un buble for-each](pagination.md#for-loop)
    + [Paginación manual](pagination.md#manual-pagination)
  + [Paginación asíncrona](pagination.md#asynchronous-pagination)
    + [Recorrer en iteración páginas de nombres de tablas](pagination.md#iterate-pages-async)
      + [Utilizar un `Subscriber`.](pagination.md#use-a-subscriber)
      + [Utilizar un `Consumer`.](pagination.md#id1pagination)
    + [Recorrer en iteración nombres de tablas](pagination.md#iterate-objects-async)
      + [Utilizar un `Subscriber`.](pagination.md#id2)
      + [Utilizar un `Consumer`.](pagination.md#for-loop-async)
    + [Usar una biblioteca de terceros](pagination.md#use-third-party-library)
+ [Utilizando camareros en el AWS SDK for Java 2.x](waiters.md)
  + [Requisitos previos](waiters.md#prerequisiteswaiters)
  + [Uso de esperadores](waiters.md#id1waiters)
    + [Programación asíncrona](waiters.md#synchronous-programming)
    + [Programación asíncrona](waiters.md#asynchronous-programming)
  + [Configurar los esperadores](waiters.md#configuring-waiters)
    + [Configurar un esperador](waiters.md#configure-a-waiter)
    + [Anular la configuración de una solicitud específica](waiters.md#override-configuration-for-a-specific-request)
  + [Ejemplos de código](waiters.md#code-examples)
+ [Solución de problemas FAQs](troubleshooting.md)
  + [¿Cómo puedo corregir el error “`java.net.SocketException`: Connection reset” o “server failed to complete the response”?](troubleshooting.md#faq-socketexception)
  + [¿Cómo puedo corregir “tiempo de espera de conexión”?](troubleshooting.md#faq-connection-timeout)
  + [¿Cómo puedo corregir “`java.net.SocketTimeoutException`: Read timed out”?](troubleshooting.md#faq-socket-timeout)
  + [¿Cómo puedo corregir el error “Unable to execute HTTP request: Timeout waiting for connection from pool”?](troubleshooting.md#faq-pool-timeout)
  + [¿Cómo puedo corregir `NoClassDefFoundError`, `NoSuchMethodError` o `NoSuchFieldError`?](troubleshooting.md#faq-classpath-errors)
  + [¿Cómo puedo corregir un error “`SignatureDoesNotMatch`” o un error “The request signature we calculated does not match the signature you provided”?](troubleshooting.md#faq-signature-does-not-match-error)
  + [¿Cómo puedo solucionar el error “`java.lang.IllegalStateException`: Connection pool shut down”?](troubleshooting.md#faq-connection-pool-shutdown-exception)
  + [¿Cómo puedo corregir el error «No se pueden cargar las credenciales de ninguno de los proveedores de la cadena AwsCredentialsProviderChain»?](troubleshooting.md#faq-credentials-provider-chain)
    + [Problemas y soluciones comunes](troubleshooting.md#faq-cred-provider-chain-common-causes-and-solutions)
      + [Revise la configuración de sus credenciales](troubleshooting.md#faq-cred-provider-chain-check-config)
        + [Para instancias de Amazon EC2](troubleshooting.md#faq-cred-check-ec2)
        + [Para entornos de contenedores](troubleshooting.md#faq-cred-check-container-env)
        + [Para desarrollo local](troubleshooting.md#faq-cred-check-local-dev)
        + [Para federación de identidades web](troubleshooting.md#faq-cred-check-web-id-federation)
      + [Problemas de conectividad de red o de proxy](troubleshooting.md#faq-credentials-provider-chain-network-issues)
+ [Reduzca el tiempo de inicio del SDK para AWS Lambda](lambda-optimize-starttime.md)
  + [Utilice un cliente HTTP AWS basado en CRT](lambda-optimize-starttime.md#lambda-quick-url)
  + [Eliminar las dependencias del cliente HTTP no utilizadas](lambda-optimize-starttime.md#lambda-quick-remove-deps)
  + [Configurar los clientes de servicio para abreviar las búsquedas](lambda-optimize-starttime.md#lambda-quick-clients)
  + [Inicializar el cliente de SDK fuera del controlador de la función de Lambda](lambda-optimize-starttime.md#lambda-quick-initialize)
  + [Minimizar la inyección de dependencias](lambda-optimize-starttime.md#lambda-quick-di)
  + [Utilice una segmentación por arquetipo de Maven AWS Lambda](lambda-optimize-starttime.md#lambda-quick-maven)
  + [Considere Lambda SnapStart para Java](lambda-optimize-starttime.md#lambda-quick-snapstart)
  + [Cambios en la versión 2.x que afectan al tiempo de startup](lambda-optimize-starttime.md#example-client-configuration)
  + [Recursos adicionales](lambda-optimize-starttime.md#lambda-quick-resources)
+ [Implemente `ContentStreamProvider` en el AWS SDK for Java 2.x](content-stream-provider.md)
  + [Utilice `mark()` y `reset()`](content-stream-provider.md#csp-impl-mark-reset)
  + [Uso de almacenamiento en búfer si `mark()` y `reset()` no están disponibles](content-stream-provider.md#csp-impl-unsupported-streams)
  + [Creación de nuevos flujos](content-stream-provider.md#csp-impl-new-stream)
+ [Configurar el TTL de JVM para las búsquedas de nombres DNS](jvm-ttl-dns.md)
  + [Cómo configurar el TTL de JVM](jvm-ttl-dns.md#how-to-set-the-jvm-ttl)
    + [Opción 1: configúrelo mediante programación en su aplicación](jvm-ttl-dns.md#set-ttl-programmatically)
    + [Opción 2: configúrelo en el archivo java.security](jvm-ttl-dns.md#set-ttl-java-security-file)
    + [Opción 3: Utilice la opción alternativa de propiedades del sistema JDK (línea de comandos)](jvm-ttl-dns.md#set-ttl-system-property)
+ [Trabajar con HTTP/2 en el AWS SDK para Java](http2.md)