[aws s3] AmazonS3Exception 400 해결

vector13·2022년 11월 20일
0
  • 상황 : 게시글올릴 때 s3버킷에 사진을 저장하고, url을 받아서 rds에 저장하도록 설계했는데, 사진 올리면 에러가 난다.

  • 에러 내용
    com.amazonaws.services.s3.model.AmazonS3Exception: The bucket does not allow ACL s (Service: Amazon S3; Status Code: 400; Error Code: AccessControlListNotSupport ed; Request ID: VZ6PTJHSX19QD3T6; S3 Extended Request ID: TFE5F7L+TPN1VDGUwD10oq H8BHw5IZk68bWSHeKNm94Qn4zsSBsuF+xn++dkoj1TIb7/trCVklE=; Proxy: null)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorRespon se(AmazonHttpClient.java:1811) ~[aws-java-sdk-core-1.11.792.jar!/:na]

S3에 버킷의 ACL권한을 안줘서 그렇다 S3 로가서 ACL 권한 설정 줘야함

보면 버킷 소유자에게만 읽기쓰기가있음

편집에 들어가서


ACL이 복원된다는 것을 확인합니다 까지 체크를 해줘야함!

편집해주면 됨

그러고 나서 다시 요청을 보내보면 또 에러나는데

  • 에러 내용

2022-11-20 08:45:54.227 ERROR 1 --- [nio-8082-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: error: MultipartFile -> File convert fail] with root cause

java.lang.IllegalArgumentException: error: MultipartFile -> File convert fail
at com.ae.community.aws.S3Uploader.lambda$upload$0(S3Uploader.java:29) ~[classes!/:na]
at java.base/java.util.Optional.orElseThrow(Optional.java:408) ~[na:na]
at com.ae.community.aws.S3Uploader.upload(S3Uploader.java:29) ~[classes!/:na]
at

서버 껐다 켜줘야 s3가 적용돼서 그렇다.
서버를 껐다 다시 켜주면 문제 해결!! ~~ 슈숭💨💨

profile
HelloWorld! 같은 실수를 반복하지 말기위해 적어두자..

0개의 댓글

관련 채용 정보