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

feat: S3 버켓에 업로드된 이미지 객체 삭제 #215

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

sonshn
Copy link
Member

@sonshn sonshn commented Sep 9, 2024

무엇을 위한 PR인가요?(: 뒤 설명추가)

  • 신규 기능 추가 : S3 버켓 내 이미지 객체 삭제 로직 추가
  • 버그 수정 :
  • 리펙토링 :
  • 문서 업데이트 :
  • 기타 :

변경사항 및 이유

  • S3 버켓 내 이미지 객체 삭제 로직을 추가했습니다. 순서는 다음과 같습니다.
  1. 삭제할 게시물에 포함된 이미지 파일들의 URL 문자열을 차례대로 불러옴
  2. 불러온 문자열에서 THUMBNAIL_PREFIX를 바탕으로 파일명만 추출
  3. 추출된 파일명에 ORIGIN_PREFIX를 이어 붙임
  4. 기존의 deleteImage 함수를 두 번 호출하여, 원본 이미지와 썸네일 이미지 모두 삭제 진행
  • 위 과정을 거쳐 이미지 객체를 삭제하면, S3 비용을 많이 줄일 수 있을 것 같습니다! 😄
  • AWS 공식 문서에 따르면, S3 객체들 간에는 파일 시스템 같은 계층 구조가 없고, 단지 그룹으로 쉽게 분류하기 위해 '폴더' 개념과 Prefix를 제공한다고 합니다.
  • 따라서, /thumbnail/...로 접근하지 않고, thumbnail/...로 접근해서 구현할 수 있었습니다,
  • 또한, 파일명을 추출할 때도 앞에 /를 붙이면 안됩니다

작업 내역

  • S3 버켓 내 이미지 객체 삭제 로직 추가

작업 후 기대 동작(스크린샷)

  • 게시물 삭제 API를 호출하면, 게시물에 포함된 이미지 객체들이 S3 Bucket에 삭제됩니다.
  • thumbnails, fm-origin 양쪽 모두에서 삭제됩니다!

어떤 부분에 리뷰어가 집중하면 좋을까요?

  • feat: 이미지 리사이징 (썸네일 생성) #186 에서 힌트를 얻었습니다 😄
  • 비슷한 방법으로 프로필 이미지의 경우에도 사용해도 될 것 같습니다
  • 게시물 수정(연동 후)의 경우에도 사용해도 될 것 같습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant