s3stream
Thin wrapper over existing libraries to standardize the interface for streaming uploads and downloads from Amazon S3. Supports streaming to/from variables or URLs without using the local filesystem.
Example usage
var AWS = require('aws-sdk');
var S3Stream = require('s3-streamer');
var s3 = new AWS.S3();
var s3stream = new S3Stream(s3);
var s3params = { Bucket: "BUCKET", Key: "KEY" };
s3stream.stringToS3("Hello World", s3params).then(function() {
console.log('Uploaded: %s', string);
s3stream.stringFromS3(s3params).then(function(string) {
console.log('Downloaded: %s', string);
});
}).catch(function(err) {
console.log('Error');
});
Upload Methods
s3stream.urlToS3(url, s3params)
Streams the data from a URL to an S3 object without using local storage. Returns a bluebird promise.
s3stream.stringToS3(string, s3params)
Streams a string to an S3 object. Returns a bluebird promise.
s3stream.localFileToS3(filename, s3params)
Streams a local file to an S3 object. Returns a bluebird promise.
Download Methods
s3stream.stringFromS3(s3params)
Streams an S3 object to a string variable. Returns a bluebird promise that resolves with the string.
s3stream.localFileFromS3(filename, s3params)
Streams an S3 object to a local file. Returns a bluebird promise that resolves with the given filename.
Lower level methods
s3stream.uploadStream(s3params)
Returns a Writable that you can pipe streams to.
s3stream.downloadStream(s3params)
Returns a Readable that you can pipe to other streams.