A simple, lightweight s3 client. Only 2 dependencies total.
Go to file
AJ ONeal 0914b9bba7 1.1.0 2020-09-10 02:12:50 -06:00
bin v1.0.3: add bin 2020-03-16 20:38:50 -06:00
.gitignore v1.0.2: improve docs and error messages 2020-03-16 19:58:31 -06:00
.jshintrc v1.0.0: a diet s3 client 2020-03-12 04:26:31 -06:00
.prettierrc v1.0.0: a diet s3 client 2020-03-12 04:26:31 -06:00
LICENSE v1.0.0: a diet s3 client 2020-03-12 04:26:31 -06:00
README.md add ability to sign() without fetch 2020-09-10 02:12:43 -06:00
index.js add ability to sign() without fetch 2020-09-10 02:12:43 -06:00
package-lock.json 1.1.0 2020-09-10 02:12:50 -06:00
package.json 1.1.0 2020-09-10 02:12:50 -06:00
test.bin v1.0.0: a diet s3 client 2020-03-12 04:26:31 -06:00
test.js v1.0.2: improve docs and error messages 2020-03-16 19:58:31 -06:00

README.md

s3.js | a Root project

Minimalist S3 client

A lightweight alternative to the s3 SDK that uses only @root/request and aws4.

  • set()
  • get()
  • head()
  • delete()
  • sign()

Download a file from S3

s3.get({
    accessKeyId,
    secretAccessKey,
    region,
    bucket,
    prefix,
    key
});

Upload a new file to S3

s3.set({
    accessKeyId,
    secretAccessKey,
    region,
    bucket,
    prefix,
    key,
    body,
    size
});

Return signed URL without fetching.

s3.sign({
    method: 'get',
    accessKeyId,
    secretAccessKey,
    region,
    bucket,
    prefix,
    key
});

If the body is a stream then size must be set to fs.statSync(filePath).size, or the request will fail:

501
<Code>NotImplemented</Code><Message>A header you provided implies functionality that is not implemented</Message>