-
Delete the video on s3Project using node.js/Cloning Youtube 2020. 9. 8. 10:19
이제 파일이 local이 아니라 aws-s3에 저장이 된다. 하지만 내가 video를 삭제해도 aws-s3에서는 삭제되지 않고 local DB에서만 삭제가 된다. 이렇게 되면 불필요한 video가 s3에 쌓이게 되어 용량을 차지하고 보안적인 측면에서도 좋지 않다. 그래서 user가 video를 삭제하면 s3에서도 삭제하게끔 할 것이다.
middlewares.js
외부 module에서 사용할 수 있도록 s3를 export 해준다. videoController.js에서 s3를 사용할 것이다.
videoController.js
빨간색 박스가 기존에 있었던 deleteVideo에 추가된 코드다. 이 코드는 aws-s3에 있는 video를 삭제하는 기능을 한다.
s3.deleteObject()에는 삭제할 video 객체가 주어줘야 한다. 그 객체는 Bucket과 Key를 가지는데 Bucket는 업로드 된 파일이 있는 bucket의 이름이고 Key는 bucket 뒤에 있는 directory/fileName 이다. DB에 저장되어 있는 videoUrl은 http로 시작되는 파일의 url의 전체 주소이기 때문에 regex로 나눠서 원하는 부분만 추려내야 한다.
참고 자료
소스 코드
github.com/zpskek/wetube-v3/commit/39cd2d00d910c505b8408857bf9b24a16a12c013
'Project using node.js > Cloning Youtube' 카테고리의 다른 글
MongoDB Atlas (0) 2020.09.08 Delete the avatars on s3 (0) 2020.09.08 Multer - s3 (0) 2020.09.07 AWS - S3 & IAM (0) 2020.09.07 flash (0) 2020.09.07