https://github.com/theboeffect/s3-unzip
An updated to the s3-unzip library by Steve Yardumian to allow gz formats.
https://github.com/theboeffect/s3-unzip
Last synced: 25 days ago
JSON representation
An updated to the s3-unzip library by Steve Yardumian to allow gz formats.
- Host: GitHub
- URL: https://github.com/theboeffect/s3-unzip
- Owner: theBoEffect
- License: other
- Created: 2021-08-17T15:06:59.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-08-19T20:01:37.000Z (almost 5 years ago)
- Last Synced: 2025-02-28T10:09:06.946Z (over 1 year ago)
- Language: JavaScript
- Size: 139 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# S3 Unzip2
This is a fork of [S3 Unzip](https://bitbucket.org/copperhill/s3-unzip.git) by Steve Yardumian updated to support gz files. Note, gz not tar.gaz, so its assumed to be a single named compressed file, not a bunch of combined files in a tar that is then compressed. I may add tar support later.
## S3 Unzip ##
A simple library to unzip an archive file in a S3 bucket to its root folder.
### Install ###
- To include as library: `npm install s3-unzip`
- To use as a command-line tool: `npm install -g s3-unzip`
### Restrictions ###
- The module only supports the input zip file MIME type of 'application/zip'.
### Command Line Usage ###
`s3-unzip [-dv] `
#### Required ####
- `` : Bucket name in S3 where the zip file exists
- `` : Filename (including the .zip extension) of the archive that will be decompressed
#### Options ####
- `-d, --delete-on-success` : Delete the zip file once the decompression has finished
- `-v, --verbose` : Show the console log messages during runtime
#### Example ####
`s3-unzip -d -v test-bucket-in-s3 Companies.zip`
### Library Usage ###
Include like most libraries:
`var s3Unzip = require("s3-unzip");`
Run the decompression for the file in the specified bucket:
#### Options ####
~~~~
var s = new s3Unzip({
bucket: "test-bucket-in-s3",
file: "Companies.zip",
deleteOnSuccess: true,
verbose: false
}, function(err, success){
if (err) console.error(err);
else console.log(success);
});
~~~~
### AWS Lambda Usage ###
Create an AWS Lambda function, name it, and zip all files from this package to upload the code (including node_modules). The function defaults to deleting the zip file after it's been decompressed and verbose messages logged to CloudWatch.
#### Configuration ####
##### Basic #####
- Runtime: **Node.js 6.10**
- Handler: **index.handler**
- Role: **(create a custom role with Full S3 Access)**
##### Advanced #####
For a 20MB zip file:
- Memory: **at least 512MB**
- Timeout: **at least 30 sec**
#### Options ####
Test JSON:
~~~~
{
"event":{
"Records": [
{
"s3": {
"bucket": {
"name": "test-bucket-in-s3"
},
"object": {
"key": "Companies.zip"
}
}
}
]
}
}
~~~~