awssum-amazon-s3
Version:
AwsSum plugin for Amazon Simple Storage Service (S3).
309 lines (179 loc) • 9.36 kB
Markdown
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)