Anunciamos
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 for Java
As práticas recomendadas a seguir podem ajudá-lo a evitar problemas ou problemas ao desenvolver AWS aplicativos com AWS SDK for Java o. Organizamos as melhores práticas por serviço.
S3
Evite ResetExceptions
Ao fazer upload de objetos usando fluxos ( Amazon S3 por meio de um AmazonS3
cliente ouTransferManager
), você pode encontrar problemas de conectividade de rede ou de tempo limite. Por padrão, as
AWS SDK for 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 ResetExceptionquando 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é fornecer dados usando um arquivo
Se o stream não for um FileInputStreamsetReadLimit
método de RequestClientOptions. 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
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) 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.