Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate S3 Presigned-url #86

Merged
merged 4 commits into from
Sep 21, 2023
Merged

Generate S3 Presigned-url #86

merged 4 commits into from
Sep 21, 2023

Conversation

jinlee1703
Copy link
Member

@jinlee1703 jinlee1703 commented Sep 21, 2023

PR Type

  • 기능 추가
  • 기능 삭제
  • 버그 수정
  • 테스트 코드 작성
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트
  • 문서 작성

Motivation

이미지 등록 시 서버 부하를 줄이기 위해

Problem Solving

AWS S3 Presigned URL을 발급받아 Client가 이미지를 직접 저장할 수 있는 URL을 제공하도록 구현하였음

To Reviewer

  • Presigned-url을 통한 이미지 등록 시 HTTP 메서드는 PUT

  • Request

    image
  • Response

    image
  • 우려점

    • 현재 파일의 확장자(혹은) 타입이나 크기에 대해 소스코드에서 제어를 하고 있지는 않음
      • bucket에서 제어를 해야함 => 완료
  • 관련 정리 : https://jinlee.kr/web/2023-09-18-s3-presiend-url/

@jinlee1703 jinlee1703 added the 💳 Voucher 기프티콘과 관련된 라벨 label Sep 21, 2023
@jinlee1703 jinlee1703 self-assigned this Sep 21, 2023
@jinlee1703 jinlee1703 changed the title feat: implement get-presigned-url logic Generate S3 Presigned-url Sep 21, 2023
Copy link
Member

@inh2613 inh2613 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p6:
현재 파일의 확장자(혹은) 타입이나 크기에 대해 소스코드에서 제어를 하고 있지는 않음
-> 이 부분은 bucket 정책으로 확장자는 제어하고 있는 것 같은데 파일 크기는 어디서 제어하고 있는지 알 수 있을 까요?

수고 많으셨습니다!

@jinlee1703
Copy link
Member Author

-> 이 부분은 bucket 정책으로 확장자는 제어하고 있는 것 같은데 파일 크기는 어디서 제어하고 있는지 알 수 있을 까요?

파일 크기 관련해서 S3 정책과 GeneratePresignedUrlRequest 클래스를 찾아 보았으나 가장 많이 사용하는 방식은 AWS Lambda를 사용하는 방법 같습니다. 처리 프로세스는 다음과 같습니다.

  1. 이미지 업로드
  2. aws lamda로 이미지 파일 크기 계산
  3. 일정 크기 초과 시 파일 삭제 후 was 로직 처리

우선 merge 후 멘토님께 여쭤보고 다른 방법이 없을 시 lambda 도입 검토해보겠습니다!

@jinlee1703 jinlee1703 merged commit 50a9fb0 into dev Sep 21, 2023
@jinlee1703 jinlee1703 deleted the fix/GH-253-image-save branch September 21, 2023 07:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💳 Voucher 기프티콘과 관련된 라벨
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants