The problem
- Get an .zip file provided from s3 bucket and upload the extracted folder and its content back to s3 bucket
The solution
Built an npm package that gets an .zip file from s3 and create streams, with that you can do whatever you want with the extracted content.
You can check more and contribute to our package in: s3-zip-handler
built-in possibilities
- Send extracted folder back to s3 bucket
import AWS from 'aws-sdk'
import s3ZipHandler, { IS3ZipFileParams } from 's3-zip-handler'
const s3Client = new AWS.S3({
...your s3 settings
})
const s3Config: IS3ZipFileParams = {
s3Client,
bucket: 'your-s3-bucket',
key: 'your-s3-key/your-zip-file.zip',
params: {
ACL: 'public-read',
ContentDisposition: 'inline'
}
}
const {
localPath,
uploadedPath
} = await s3ZipHandler.decompressToKeyFolderS3(s3Config)
// localPath = 'os-tmp/unzipped-xxxx/your-zip-file'
// uploadedPath = 'your-s3-bucket/your-s3-key/your-zip-file'
- Manipulate locally the extracted folder
import s3ZipHandler from 's3-zip-handler'
import AWS from 'aws-sdk'
const s3Client = new AWS.S3({
...your s3 settings
})
const s3Config = {
s3Client,
bucket: 'your-s3-bucket',
key: 'your-s3-key/your-zip-file.zip'
}
const {
localPath
} = await s3ZipHandler.decompressLocal(s3Config, 'path-to-extract')
// localPath = 'path-to-extract/your-zip-file'
Top comments (2)
Nice, awesome project!
thanks!!!!