A Golang microservice that compresses an s3 folder recursively into a single zip or tar file
Make an http request to the server. Specify the s3 folder prefix of the file you want to download as an argument to the server
Example : http://0.0.0.0:4005/?prefix=path/to/code/&path=/Download/&comp=tar
Notes:
- prefix does NOT start with a /
- Make sure to end prefix with a / to ensure you are downloading that folder
- Clone Repo
- Copy sample_conf.json to conf.json
- Input correct options
- Run server > go run main.go
Put config file somewhere accessible Use docker: $ docker build -t "s3zip" . $ docker run -p 4005:4005 --detach s3zip
s3zipper https://engineroom.teamwork.com/how-to-securely-provide-a-zip-download-of-a-s3-file-bundle-1c3c779ae3f1 https://dev.to/flowup/using-io-reader-io-writer-in-go-to-stream-data-3i7b
- It is recommended to run this service on an EC2 instance because data transfer from S3 to EC2 is *free
- This isnt built to download individual files, its designed to download s3 folders