

O AWS SDK para Java 1.x chegou end-of-support em 31 de dezembro de 2025. Recomendamos que você migre para o [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html) para continuar recebendo novos recursos, melhorias de disponibilidade e atualizações de segurança.

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

# Melhores práticas para AWS desenvolvimento com o AWS SDK para Java
<a name="best-practices"></a>

As práticas recomendadas a seguir podem ajudá-lo a evitar problemas ou problemas ao desenvolver AWS aplicativos com AWS SDK para Java o. Organizamos as melhores práticas por serviço.

## S3
<a name="s3"></a>

### Evite ResetExceptions
<a name="s3-avoid-resetexception"></a>

Ao fazer upload de objetos usando fluxos ( Amazon S3 por meio de um `AmazonS3` cliente ou`TransferManager`), você pode encontrar problemas de conectividade de rede ou de tempo limite. Por padrão, as AWS SDK para Java tentativas de repetir as transferências falharam marcando o fluxo de entrada antes do início de uma transferência e, em seguida, redefinindo-o antes de tentar novamente.

Se o stream não suportar a marcação e a redefinição, o SDK lançará um [ResetException](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ResetException.html)quando houver falhas transitórias e as novas tentativas forem ativadas.

 **Melhor prática** 

Recomendamos usar fluxos que deem suporte a operações de marcar e redefinir.

A maneira mais confiável de evitar a [ResetException](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ResetException.html)é fornecer dados usando um [arquivo](https://docs.oracle.com/javase/8/docs/api/index.html?java/io/File.html) ou [FileInputStream](https://docs.oracle.com/javase/8/docs/api/index.html?java/io/FileInputStream.html), que eles AWS SDK para Java possam manipular sem serem limitados por limites de marcação e redefinição.

Se o stream não for um [FileInputStream](https://docs.oracle.com/javase/8/docs/api/index.html?java/io/FileInputStream.html), mas oferecer suporte à marcação e à redefinição, você poderá definir o limite de marcas usando o `setReadLimit` método de [RequestClientOptions](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/RequestClientOptions.html). O valor padrão é 128 KB. Definir o valor limite de leitura como *um byte maior que o tamanho do fluxo* evitará de forma confiável a. [ResetException](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/ResetException.html)

Por exemplo, se o tamanho esperado máximo de um fluxo for 100.000 bytes, defina o limite de leitura como 100.001 (100.000 \$1 1) bytes. A marca e a redefinição sempre funcionarão para 100.000 bytes ou menos. Lembre-se de que isso pode fazer alguns fluxos armazenarem em buffer esse número de bytes na memória.