Skip to content

Conversation

@m-a-king
Copy link
Collaborator

@m-a-king m-a-king commented Feb 1, 2025

resolved :

📌 과제 설명

서진 님과 상의해서 이미지 업로드 로직을 정리할 계획입니다.
주석과 PR 포인트를 고려해서 리뷰 부탁드리겠습니다!

👩‍💻 요구 사항과 구현 내용

이미지 업로드 컨트롤러 추가

✅ PR 포인트 & 궁금한 점

이미지 업로드 기록 방식

  1. 로그 기반 저장
    • userId, fileName, presignedUrl을 로그로 기록하여 추적 가능.
  2. DB 기반 저장 (별도 테이블 활용)
    • Presigned URL 발급 시 PENDING 상태로 DB에 저장.
    • 클라이언트가 업로드 완료 후 UPLOADED 상태로 변경.
  3. 파일명에 userId 포함
    • userId + timestamp + UUID 조합을 활용하여 추적 가능.
    • 직접 노출을 피하기 위해 SHA256(userId) 활용 가능.

배드 케이스 & 해결 방법

배드 케이스 해결 방법
S3에는 파일이 있지만 DB에는 정보 없음 S3 Event Notification + Lambda 로 자동 DB 업데이트
DB에는 파일 정보가 있지만 S3에 파일 없음 배치 작업을 통해 일정 시간 후 정리

개선된 설계 흐름

1️⃣ Presigned URL 발급 시, DB에 PENDING 상태로 저장
2️⃣ S3 Event Notification을 활용하여 UPLOADED 상태 자동 반영
3️⃣ 클라이언트가 업로드 완료 후 POST /api/image/confirm 호출하여 상태 변경
4️⃣ 배치 작업을 통해 PENDING 상태가 오래된 데이터를 삭제

@m-a-king m-a-king self-assigned this Feb 1, 2025
@m-a-king m-a-king linked an issue Feb 1, 2025 that may be closed by this pull request
1 task
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

빌드에 실패했습니다.

@github-actions github-actions bot changed the title [FEATURE] 이미지 업로드 컨트롤러 추가 [BUILD FAIL] [FEATURE] 이미지 업로드 컨트롤러 추가 Feb 1, 2025
@github-actions github-actions bot closed this Feb 1, 2025
@m-a-king m-a-king reopened this Feb 1, 2025
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

빌드에 실패했습니다.

@github-actions github-actions bot changed the title [BUILD FAIL] [FEATURE] 이미지 업로드 컨트롤러 추가 [BUILD FAIL] [BUILD FAIL] [FEATURE] 이미지 업로드 컨트롤러 추가 Feb 1, 2025
@github-actions github-actions bot closed this Feb 1, 2025
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

빌드에 실패했습니다.

@m-a-king m-a-king reopened this Feb 2, 2025
@m-a-king m-a-king changed the title [BUILD FAIL] [BUILD FAIL] [FEATURE] 이미지 업로드 컨트롤러 추가 [FEATURE] 이미지 업로드 컨트롤러 추가 Feb 2, 2025
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 3, 2025

Copy link
Collaborator

@ayoung-dev ayoung-dev left a comment

Choose a reason for hiding this comment

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

고생하셨습니당

Copy link
Collaborator

@7zrv 7zrv left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!

@m-a-king m-a-king closed this Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] 봉사자 프로필 수정 로직에서 이미지 분리

5 participants