

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Este capítulo mostra como usar o de AWS SDK for Java 2.x forma eficaz. Aprenda a criar clientes de serviço, fazer solicitações, processar respostas e gerenciar erros. O capítulo aborda programação síncrona e assíncrona, resultados paginados, esperas para monitoramento de recursos e otimização de desempenho. 

Você também poderá consultar as práticas recomendadas para reutilização de clientes, orientação para solução de problemas, otimização de inicialização do Lambda, suporte a HTTP/2 e configuração de DNS.

**Contents**
+ [Fazendo AWS service (Serviço da AWS) solicitações usando o AWS SDK for Java 2.x](work-witih-clients.md)
  + [Usar clientes de serviço para fazer solicitações](work-witih-clients.md#using-service-client)
    + [Crie um cliente de serviço](work-witih-clients.md#work-with-clients-create)
    + [Configuração padrão de cliente](work-witih-clients.md#using-default-client)
    + [Configurar clientes de serviço](work-witih-clients.md#using-configure-service-clients)
    + [Feche o cliente de serviço](work-witih-clients.md#using-closing-client)
  + [Fazer solicitações.](work-witih-clients.md#using-making-requests)
    + [Usar solicitações para substituir a configuração do cliente](work-witih-clients.md#using-override-client-config-request)
  + [Manipulador de resposta](work-witih-clients.md#using-handling-responses)
+ [Programação assíncrona usando o AWS SDK for Java 2.x](asynchronous.md)
  + [Usar APIs de cliente assíncrono](asynchronous.md#basics-async-non-streaming)
  + [Gerenciar o streaming em métodos assíncronos](asynchronous.md#basics-async-streaming)
  + [Configurar opções assíncronas avançadas](asynchronous.md#advanced-operations)
+ [Melhores práticas para usar o AWS SDK for Java 2.x](best-practices.md)
  + [Evitar solicitações suspensas configurando os tempos limite da API](best-practices.md#bestpractice5)
  + [Melhorar o desempenho reutilizando clientes de serviço](best-practices.md#bestpractice1)
  + [Evitar vazamentos de recursos fechando clientes de serviços não utilizados](best-practices.md#bestpractice-close-client)
  + [Evitar o esgotamento do pool de conexões fechando os fluxos de entrada](best-practices.md#bestpractice2)
  + [Otimizar o desempenho HTTP para a workload da aplicação](best-practices.md#bestpractice3)
  + [Melhore o desempenho do SSL com o OpenSSL para clientes assíncronos](best-practices.md#bestpractice4)
  + [Monitorar o desempenho de aplicações com métricas de SDK](best-practices.md#bestpractice6)
+ [Tratamento de erros no AWS SDK for Java 2.x](handling-exceptions.md)
  + [Por que exceções desmarcadas?](handling-exceptions.md#why-unchecked-exceptions)
  + [AwsServiceException (e subclasses)](handling-exceptions.md#sdkserviceexception-and-subclasses)
  + [SdkClientException](handling-exceptions.md#sdkclientexception)
  + [Exceções e comportamento de nova tentativa](handling-exceptions.md#retried-exceptions)
+ [Usando resultados paginados no 2.x AWS SDK para Java](pagination.md)
  + [Paginação síncrona](pagination.md#synchronous-pagination)
    + [Iterar sobre páginas](pagination.md#iterate-pages)
    + [Iterar sobre objetos](pagination.md#iterate-objects)
      + [Usar um stream](pagination.md#use-a-stream)
      + [Usar um loop for-each](pagination.md#for-loop)
    + [Paginação manual](pagination.md#manual-pagination)
  + [Paginação assíncrona](pagination.md#asynchronous-pagination)
    + [Iterar sobre páginas de nomes de tabelas](pagination.md#iterate-pages-async)
      + [Usar um `Subscriber`](pagination.md#use-a-subscriber)
      + [Usar um `Consumer`](pagination.md#id1pagination)
    + [Iterar sobre nomes de tabela](pagination.md#iterate-objects-async)
      + [Usar um `Subscriber`](pagination.md#id2)
      + [Usar um `Consumer`](pagination.md#for-loop-async)
    + [Usar bibliotecas de terceiros](pagination.md#use-third-party-library)
+ [Usando garçons no AWS SDK for Java 2.x](waiters.md)
  + [Pré-requisitos](waiters.md#prerequisiteswaiters)
  + [Usar agentes de espera](waiters.md#id1waiters)
    + [Programação síncrona](waiters.md#synchronous-programming)
    + [Programação assíncrona](waiters.md#asynchronous-programming)
  + [Configurar waiters](waiters.md#configuring-waiters)
    + [Configurar um waiter](waiters.md#configure-a-waiter)
    + [Substituir configuração para uma solicitação específica](waiters.md#override-configuration-for-a-specific-request)
  + [Exemplos de código](waiters.md#code-examples)
+ [Solução de problemas FAQs](troubleshooting.md)
  + [Como faço para corrigir o erro "`java.net.SocketException`: reinicialização da conexão” ou “falha no servidor ao concluir a resposta”?](troubleshooting.md#faq-socketexception)
  + [Como corrigir o erro de “tempo limite de conexão”?](troubleshooting.md#faq-connection-timeout)
  + [Como corrigir o “`java.net.SocketTimeoutException`: tempo limite de leitura”?](troubleshooting.md#faq-socket-timeout)
  + [Como corrigir o erro “Não foi possível executar a solicitação HTTP: tempo limite da espera para conexão do grupo”?](troubleshooting.md#faq-pool-timeout)
  + [Como corrigir um `NoClassDefFoundError`, `NoSuchMethodError` ou `NoSuchFieldError`?](troubleshooting.md#faq-classpath-errors)
  + [Como corrigir um erro “`SignatureDoesNotMatch`” ou “A assinatura da solicitação que calculamos não corresponde à assinatura que você forneceu”?](troubleshooting.md#faq-signature-does-not-match-error)
  + [Como corrigir o erro “`java.lang.IllegalStateException`: encerramento do pool de conexões”?](troubleshooting.md#faq-connection-pool-shutdown-exception)
  + [Como faço para corrigir “Não é possível carregar credenciais de nenhum dos provedores da cadeia AwsCredentialsProviderChain “?](troubleshooting.md#faq-credentials-provider-chain)
    + [Causas comuns e soluções](troubleshooting.md#faq-cred-provider-chain-common-causes-and-solutions)
      + [Analisar a configuração de credenciais](troubleshooting.md#faq-cred-provider-chain-check-config)
        + [Para instâncias do Amazon EC2](troubleshooting.md#faq-cred-check-ec2)
        + [Para ambientes de contêiner](troubleshooting.md#faq-cred-check-container-env)
        + [Para desenvolvimento local](troubleshooting.md#faq-cred-check-local-dev)
        + [Para federação de identidades da web](troubleshooting.md#faq-cred-check-web-id-federation)
      + [Problemas de conectividade de rede ou proxy](troubleshooting.md#faq-credentials-provider-chain-network-issues)
+ [Reduza o tempo de inicialização do SDK para AWS Lambda](lambda-optimize-starttime.md)
  + [Use um cliente HTTP AWS baseado em CRT](lambda-optimize-starttime.md#lambda-quick-url)
  + [Remover dependências não utilizadas do cliente HTTP](lambda-optimize-starttime.md#lambda-quick-remove-deps)
  + [Configurar clientes de serviço para reduzir as pesquisas](lambda-optimize-starttime.md#lambda-quick-clients)
  + [Inicializar o cliente SDK fora do manipulador da função do Lambda](lambda-optimize-starttime.md#lambda-quick-initialize)
  + [Minimize a injeção de dependência](lambda-optimize-starttime.md#lambda-quick-di)
  + [Use uma mira do Maven Archetype AWS Lambda](lambda-optimize-starttime.md#lambda-quick-maven)
  + [Considere o Lambda SnapStart para Java](lambda-optimize-starttime.md#lambda-quick-snapstart)
  + [Alterações na versão 2.x que afetam o tempo de inicialização](lambda-optimize-starttime.md#example-client-configuration)
  + [Recursos adicionais do](lambda-optimize-starttime.md#lambda-quick-resources)
+ [Implemente `ContentStreamProvider` no AWS SDK for Java 2.x](content-stream-provider.md)
  + [Utilizar `mark()` e `reset()`](content-stream-provider.md#csp-impl-mark-reset)
  + [Use o buffer se `mark()` e `reset()` não estiverem disponíveis](content-stream-provider.md#csp-impl-unsupported-streams)
  + [Criar fluxos](content-stream-provider.md#csp-impl-new-stream)
+ [Definir o JVM TTL para pesquisas de nome DNS](jvm-ttl-dns.md)
  + [Como definir o TTL da JVM](jvm-ttl-dns.md#how-to-set-the-jvm-ttl)
    + [Opção 1: defina-o programaticamente em seu aplicativo](jvm-ttl-dns.md#set-ttl-programmatically)
    + [Opção 2: defina-o no arquivo java.security](jvm-ttl-dns.md#set-ttl-java-security-file)
    + [Opção 3: usar o fallback de propriedades do sistema JDK (linha de comando)](jvm-ttl-dns.md#set-ttl-system-property)
+ [Trabalhar com o HTTP/2 no AWS SDK para Java](http2.md)