everymeals/EveryMeal_Server

[chore/s3-photo-get] 이미지 파일 s3 적재 시스템 및 구성

Closed this issue · 1 comments

요청 기능 설명

이 기능은 사용자가 이미지를 업로드하는 기능을 제공합니다. 이전에는 Amazon API Gateway를 사용하여 이미지를 업로드하고 이미지의 내용을 페이로드로 전달했습니다. 그러나 API Gateway의 페이로드 크기 제한이 10MB로, 이를 초과하는 이미지 업로드에 문제가 발생했습니다.
따라서 S3의 PreSignUrl을 도입하였습니다.

  • PreSignUrl은 2분동안 유효합니다.

필요한 작업

이 문제를 해결하고 이미지 업로드를 계속 지원하기 위해 다음 주요 작업을 수행해야 합니다:
Amazon S3 버킷 및 권한 구성: Amazon S3 버킷을 설정하고 업로드한 이미지를 저장할 수 있도록 권한을 구성해야 합니다.
AWS Lambda 함수 업데이트: AWS Lambda 함수를 업데이트하여 Pre-Signed URL을 생성하고 클라이언트에 반환하도록 수정해야 합니다.
프론트엔드 애플리케이션 수정: 프론트엔드 애플리케이션을 수정하여 Pre-Signed URL을 요청하고 이미지 업로드를 처리할 수 있도록 업데이트해야 합니다.

대안적인 방법 (선택 사항)

이 기능을 구현하는 다른 방법에 대한 아이디어가 있으면 적어주세요.

추가 정보 (선택 사항)

Pre Sing Url의 단계입니다.
1. 해당 API를 호출하면, Response에 url과 imageKey를 반환합니다.
2. Url은 2분간 유효합니다.
3. ImageKey는 S3에 저장될 파일의 이름입니다.
4. Url에 PutMapping 이미지 파일을 binary로 보낼 경우, S3에 저장됩니다.
PS. Server에는 ImageKey로만 통신합합니다.