Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 777 Bytes

File metadata and controls

20 lines (13 loc) · 777 Bytes

typescript-s3-upload-with-stream

Typescript + AWS S3 를 사용하는 상황에서 메모리를 효율적으로 사용하여 파일을 가공하고 업로드 하는 예제입니다.

상황

  • 이미지 파일들을 압축하고, S3 에 업로드 해야하는 상황입니다.
  • 이미지 파일들은 메모리가 크기 때문에, 인스턴스 1개에서 병렬적으로 처리하기 위해선 메모리를 효율적으로 사용해야 합니다.

방법

  • archiver 를 사용하여 이미지 파일들이 있는 디렉토리를 압축합니다.
  • streamPassThrough 를 사용하여 쓰기 스트림(압축파일 쓰기)에서 읽기 스트림(S3 업로드)으로 데이터를 전달합니다.

실행

$ pnpm install
$ pnpm start