UNPKG

awssum-amazon-s3

Version:

AwsSum plugin for Amazon Simple Storage Service (S3).

309 lines (179 loc) 9.36 kB
NOTE: AwsSum is now deprecated. Please use [aws-sdk](https://www.npmjs.org/package/aws-sdk) instead. # awssum-amazon-s3 # This is an ```AwsSum``` plugin! You'll need to add [awssum-amazon-s3](https://github.com/awssum/awssum-amazon-s3/) to your package.json dependencies. Both [awssum](https://github.com/awssum/awssum/) and [awssum-amazon](https://github.com/awssum/awssum-amazon/) are pulled in as peer dependencies. ## Example ## List all your buckets: ``` var fmt = require('fmt'); var amazonS3 = require('awssum-amazon-s3'); var s3 = new amazonS3.S3({ 'accessKeyId' : process.env.ACCESS_KEY_ID, 'secretAccessKey' : process.env.SECRET_ACCESS_KEY, 'region' : amazonS3.US_EAST_1 }); s3.ListBuckets(function(err, data) { fmt.dump(err, 'err'); fmt.dump(data, 'data'); }); ``` ## Streaming ## Streaming uploads: ``` var fmt = require('fmt'); var amazonS3 = require('awssum-amazon-s3'); var s3 = new amazonS3.S3({ 'accessKeyId' : process.env.ACCESS_KEY_ID, 'secretAccessKey' : process.env.SECRET_ACCESS_KEY, 'region' : amazonS3.US_EAST_1 }); // you must run fs.stat to get the file size for the content-length header (s3 requires this) fs.stat(__filename, function(err, file_info) { var bodyStream = fs.createReadStream( __filename ); var options = { BucketName : bucket, ObjectName : 'amazon.js', ContentLength : file_info.size, Body : bodyStream }; s3.PutObject(options, function(err, data) { fmt.dump(err, 'err'); fmt.dump(data, 'data'); }); }); ``` Streaming downloads: ``` var fmt = require('fmt'); var amazonS3 = require('awssum-amazon-s3'); var s3 = new amazonS3.S3({ 'accessKeyId' : process.env.ACCESS_KEY_ID, 'secretAccessKey' : process.env.SECRET_ACCESS_KEY, 'region' : amazonS3.US_EAST_1 }); var options = { BucketName : 'pie-17', ObjectName : 'javascript-file.js', }; s3.GetObject(options, { stream : true }, function(err, data) { fmt.dump(err, 'err'); fmt.dump(data, 'data'); // stream this file to stdout fmt.sep(); fmt.title('The File'); data.Stream.pipe(process.stdout); data.Stream.on('end', function() { fmt.sep(); }); }); ``` ## Operations ## ### ListBuckets ### Docs: [ListBuckets on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html) ### DeleteBucket ### Docs: [DeleteBucket on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html) ### DeleteBucketCors ### Docs: [DeleteBucketCors on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEcors.html) ### DeleteBucketLifecycle ### Docs: [DeleteBucketLifecycle on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html) ### DeleteBucketPolicy ### Docs: [DeleteBucketPolicy on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html) ### DeleteBucketTagging ### Docs: [DeleteBucketTagging on AWS]() ### DeleteBucketWebsite ### Docs: [DeleteBucketWebsite on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html) ### ListObjects ### Docs: [ListObjects on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html) ### GetBucketAcl ### Docs: [GetBucketAcl on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html) ### GetBucketCors ### Docs: [GetBucketCors on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETcors.html) ### GetBucketLifecycle ### Docs: [GetBucketLifecycle on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html) ### GetBucketPolicy ### Docs: [GetBucketPolicy on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html) ### GetBucketTagging ### Docs: [GetBucketTagging on AWS]() ### GetBucketLocation ### Docs: [GetBucketLocation on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html) ### GetBucketLogging ### Docs: [GetBucketLogging on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html) ### GetBucketNotification ### Docs: [GetBucketNotification on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETnotification.html) ### GetBucketObjectVersions ### Docs: [GetBucketObjectVersions on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETVersion.html) ### GetBucketRequestPayment ### Docs: [GetBucketRequestPayment on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html) ### GetBucketVersioning ### Docs: [GetBucketVersioning on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html) ### GetBucketWebsite ### Docs: [GetBucketWebsite on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETwebsite.html) ### CheckBucket ### Docs: [CheckBucket on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html) ### ListMultipartUploads ### Docs: [ListMultipartUploads on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html) ### CreateBucket ### Docs: [CreateBucket on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html) ### PutBucketAcl ### Docs: [PutBucketAcl on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html) ### PutBucketCors ### Docs: [PutBucketCors on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTcors.html) ### PutBucketLifecycle ### Docs: [PutBucketLifecycle on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) ### PutBucketPolicy ### Docs: [PutBucketPolicy on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html) ### PutBucketLogging ### Docs: [PutBucketLogging on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) ### PutBucketNotification ### Docs: [PutBucketNotification on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTnotification.html) ### PutBucketTagging ### Docs: [PutBucketTagging on AWS]() ### PutBucketRequestPayment ### Docs: [PutBucketRequestPayment on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html) ### PutBucketVersioning ### Docs: [PutBucketVersioning on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) ### PutBucketWebsite ### Docs: [PutBucketWebsite on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html) ### DeleteObject ### Docs: [DeleteObject on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html) ### DeleteMultipleObjects ### Docs: [DeleteMultipleObjects on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/multiobjectdeleteapi.html) ### GetObject ### Docs: [GetObject on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGET.html) ### GetObjectAcl ### Docs: [GetObjectAcl on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETacl.html) ### GetObjectTorrent ### Docs: [GetObjectTorrent on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETtorrent.html) ### GetObjectMetadata ### Docs: [GetObjectMetadata on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html) ### OptionsObject ### Docs: [OptionsObject on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTOPTIONSobject.html) ### PostObjectRestore ### Docs: [PostObjectRestore on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html) ### PutObject ### Docs: [PutObject on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUT.html) ### PutObjectAcl ### Docs: [PutObjectAcl on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUTacl.html) ### CopyObject ### Docs: [CopyObject on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html) ### InitiateMultipartUpload ### Docs: [InitiateMultipartUpload on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html) ### UploadPart ### Docs: [UploadPart on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPart.html) ### UploadPartCopy ### Docs: [UploadPartCopy on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html) ### CompleteMultipartUpload ### Docs: [CompleteMultipartUpload on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadComplete.html) ### AbortMultipartUpload ### Docs: [AbortMultipartUpload on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadAbort.html) ### ListParts ### Docs: [ListParts on AWS](http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html) # Author # Written by [Andrew Chilton](http://chilts.org/) - [Blog](http://chilts.org/blog/) - [Twitter](https://twitter.com/andychilton). # License # * [Copyright 2011-2013 Apps Attic Ltd. All rights reserved.](http://appsattic.mit-license.org/2011/) * [Copyright 2013 Andrew Chilton. All rights reserved.](http://chilts.mit-license.org/2013/) (Ends)