Pipe a stream to s3.upload()
Wrap the S3 upload() function with the node.js stream.PassThrough() stream. Here’s an example: inputStream .pipe(uploadFromStream(s3)); function uploadFromStream(s3) { var pass = new stream.PassThrough(); var params = {Bucket: BUCKET, Key: KEY, Body: pass}; s3.upload(params, function(err, data) { console.log(err, data); }); return pass; }