Amazon S3 abstract-blob-store
Install with npm
$ npm install s3-blob-store
var aws = require('aws-sdk');
var s3blobs = require('s3-blob-store');
var client = new aws.S3({
accessKeyId: process.env.S3_ACCESS_KEY,
secretAccessKey: process.env.S3_SECRET_KEY
});
var store = s3blobs({
client: client,
bucket: 'mybucket'
});
// write to s3
fs.createReadStream('/tmp/somefile.txt')
.pipe(store.createWriteStream({ key: 'somefile.txt' }));
// read from s3
store.createReadStream({ key: 'somefile.txt' })
.pipe(fs.createWriteStream('/tmp/somefile.txt'));
// remove
store.remove({ key: 'somefile.txt' }, function (err) {
// ...
});
// exists
store.exists({ key: 'somefile.txt' }, function (err, exists) {
// ...
});
Create S3 blob store
Create read stream
opts
(ReadStreamOptions | String) options or object key
Returns ReadableStream readable stream of data for the file in your bucket whose key matches
Create write stream
opts
(Options<WriteParams> | String) options or object keys3opts
done
function (Error, {key: String}) callback
Returns WritableStream writable stream that you can pipe data to
Remove object from store
opts
({key: String} | String) options containing object key or just keydone
function (Error) callback
Check if object exits
opts
({key: String} | String) options containing object key or just keydone
function (Error, Boolean) callback
S3 putObject
params
Type: Object
key
String object keyname
String?key
aliasfilename
String?key
aliasparams
S3Params? additional S3 options
Options
including s3-stream-download
configuration
S3 client
S3 getObject
params