Skip to content

zwigglers/s3stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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" };

// upload a string to s3
s3stream.stringToS3("Hello World", s3params).then(function() {
	console.log('Uploaded: %s', string);
	// do something

	// download the string from s3
	s3stream.stringFromS3(s3params).then(function(string) {
		console.log('Downloaded: %s', string);

		// do something
	});
}).catch(function(err) {
	console.log('Error');

	// error handling
});

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.

About

Thin wrapper to stream uploads and downloads from Amazon S3, from local filesystem or URLs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published