• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

이미지 리사이징할 thumb 폴더가 생성되지 않고 있습니다.

21.11.01 18:41 작성 조회수 122

0

선생님 강의와 비교하니 클라우드워치 로그에 put과 original이 에러가 나는것 같은데 에러 내용을 보니 권한 문제인것 같습니다. 우분투 백,프론트 서버 각각 npm i 잘 적용했고 코드도 선생님 코드 복붙해서 문제 없는것 같습니다. 람다에 s3 연결 잘한것 같은데 어떻게 해야 될까요

답변 1

답변을 작성해보세요.

0

람다를 만드실 때 s3에 접근할 권한을 넣지 않으셔서 그런 것 같습니다. 람다 함수 만들 때 역할 고르는 선택지가 있는데 그 역할이 s3 접근 권한을 갖고 있어야 합니다.

https://aws.amazon.com/ko/premiumsupport/knowledge-center/lambda-execution-role-s3-bucket/

거휘님의 프로필

거휘

질문자

2021.11.01

람다 함수 생성시 aws 정책 새역할 생성으로 s3 정책 선택했는데도 새로고침 후 이미지 파일을 업로드하여도 똑같이 thumb 파일이 생성되지 않고 있고 클라우드워치에서도 같은 로그를 보여주고 있습니다.

 

해당 s3 역할이 갖고있는 정책 목록이 필요합니다. 저기 도큐멘테이션에 따라서 역할 생성하셨나요?

아, 저기 링크에서도 GetObject 밑에 PutObject도 넣으셔야 S3에 리사이징된 파일이 생성됩니다.

거휘님의 프로필

거휘

질문자

2021.11.02

링크에 주신 정책에 PutObject 까지 추가해서 람다에 s3 연결해둔 상태입니다. 그래도

똑같은 에러가 발생하고 있습니다.

음.. 설정이 다 되었다면 되어야할 것 같은데요. 기존 람다 함수 지우시고 새로만들면서 s3 정책 연결해서 다시 시도해보세요.

거휘님의 프로필

거휘

질문자

2021.11.02

기존 람다 함수 지우고 S3 연결하기부터 다시 시작했는데도 original 폴더에는 파일이 잘 저장되는데 똑같이 thumb 폴더가 생성되지 않고 리사이징 되지 않고 있네요. 클라우드 워치 로그도 동일한 에러로 나타나고 있습니다. ㅠㅠ

S3 역할 권한을 AmazonS3FullAccess로 바꿔보세요. 강좌 계정에서는 이렇게 하고 있었습니다.

거휘님의 프로필

거휘

질문자

2021.11.03

말씀해주신 정책으로 변경하니 이번에는 위와 같은 로그가 나오면서 여전히 thumb 폴더가 생성되지 않고 있습니다. 이전에 인프런 수강생분께서 비슷한 경우가 발생하셨던것 같은데 const Key에 decodeURIComponent가 아니라 encodeURIComponent를 넣으셔서 해결하셨다길래 동일하게 수정하였습니다만 여전히 같은 로그가 나오고 있습니다. ㅠㅠ

 

++ 현재상황에서 업로드 이미지 파일명에 한글이 아닌 숫자나 영어로 기재된 파일명은 thumb 파일이 생성되서 정상적으로 업로드 되고 있습니다!. 다만 한글파일명은 여전히 위와 같은 로그를 보여주며 thumb 파일에 포함되지 않고 있습니다. 이건 encodeURIComponent를 적용하여도 변함없는 상황입니다.

encodeURIComponent를 노드단 multer에서도 적용하셔야 할 겁니다.

거휘님의 프로필

거휘

질문자

2021.11.03

노드단 multer 라면 routes에 post.js 쪽 말씀하시는거죠?? 파일명 코드에 추가하면 될까요??

네 맞습니다~ 거기서 s3로 올리므로 거기서부터 함수 적용해야 합니다.

거휘님의 프로필

거휘

질문자

2021.11.04

소중한 시간 내주셔서 감사합니다!