Typescript + AWS S3 를 사용하는 상황에서 메모리를 효율적으로 사용하여 파일을 가공하고 업로드 하는 예제입니다.
- 이미지 파일들을 압축하고, S3 에 업로드 해야하는 상황입니다.
- 이미지 파일들은 메모리가 크기 때문에, 인스턴스 1개에서 병렬적으로 처리하기 위해선 메모리를 효율적으로 사용해야 합니다.
archiver
를 사용하여 이미지 파일들이 있는 디렉토리를 압축합니다.stream
의PassThrough
를 사용하여 쓰기 스트림(압축파일 쓰기)에서 읽기 스트림(S3 업로드)으로 데이터를 전달합니다.
$ pnpm install
$ pnpm start