AWS S3 Downloader
Why this package?
This package is intended to be used when you want to download files from S3 to a Windows machine but the file names contain reserved characters and so, neither the AWS CLI nor the available AWS SDKs download the files. Have a look at this issue: Issue with downloading s3 objects on Windows
Do not upload the files and folders back to S3 after downloading them using this package since the uploaded files will have different names and will exist side-by-side along with the original files (unless you are sure of what you are doing).
What this package does
- This package downloads all the objects in a specified S3 bucket into a local directory.
- While downloading the files, the script replaces reserved characters in the filename for Windows with dashes (-) to prevent issues.
- It converts the following reserved characters:
< (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk) \x00 (ASCII NUL)
- The reserved characters are based on Naming Files, Paths, and Namespaces
How to install
Install this package globally
npm i -g @jamesjacobk/awss3downloader
The script assumes that the AWS CLI is setup with the correct credentials
How to use:
On a terminal run:
s3dl <bucketname> <folder>
folder is the folder you want to download the objects to relative to the current path.
s3dl test-bucket data
This will download all the objects in the
test-bucket bucket into the
data folder relative to the current directory.