AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 31일에 지원 종료
AWS SDK for Java를 사용한 AWS 개발 모범 사례
다음 모범 사례는 AWS SDK for Java를 사용하여 AWS 애플리케이션을 개발할 때 문제를 방지하는 데 도움이 될 수 있습니다. 모범 사례를 서비스별로 정리했습니다.
S3
ResetExceptions 방지
스트림을 사용하여(Amazon S3 클라이언트 또는 AmazonS3를 통해) 객체를 TransferManager에 업로드하는 경우 네트워크 연결 또는 제한 시간 문제가 발생할 수 있습니다. 기본적으로 AWS SDK for Java는 전송을 시작하기 전에 입력 스트림을 표시하고 나서 재시도 전에 재설정하는 방식으로 실패한 전송을 재시도합니다.
스트림에서 표시 및 재설정을 지원하지 않는 경우 일시적인 실패가 있고 재시도가 활성화될 때 SDK에서 ResetException이 발생합니다.
모범 사례
표시 및 재설정 작업을 지원하는 스트림을 사용하는 것이 좋습니다.
ResetException을 방지하는 가장 신뢰할 수 있는 방법은 File
스트림이 FileInputStreamsetReadLimit 메서드를 사용하여 표시 제한을 설정할 수 있습니다. 기본값은 128KB입니다. 읽기 제한 값을 스트림 크기보다 1바이트 크게 설정하면 ResetException을 확실하게 방지할 수 있습니다.
예를 들어 스트림의 최대 예상 크기가 100,000바이트이면 읽기 제한을 100,001(100,000 + 1)바이트로 설정합니다. 표시 및 재설정은 항상 100,000바이트 이하에 대해서만 작동합니다. 이렇게 하면 일부 스트림의 경우 바이트 수가 메모리로 버퍼링될 수도 있습니다.