Node S3
A simple Amazon S3 node.js integration.
Install
npm install node-s3
Usage
Initialization
First initialize the node-s3 module with a URI to your S3 bucket
var s3Url = 's3://key:secret@your_bucket.s3.amazonaws.com';var s3 = s3Url;
It's important that the key/secret provided have write permissions to the bucket.
Alternatively initialize with an options object:
var options = key: '...' secret: '...' bucket: '...' pathname: '/foo' // optional: prefix all S3 keys with this path;var s3 = options;
Uploading
Example 1: Upload a body
s3;
Example 2: Pipe an incoming http request directly to S3
http;
API
Common for all functions on the s3 object returned from the node-s3 constructor is that they take up to 3 arguemnts:
key
- The requested S3 key (required). Will be concatinated with the optional pathname given upon initalizationbody
oroptions
- Optional body or options hashcallback
- Optional callback called with (err, response, body).
In any case, an instance of curly is returned which you among other things can pipe your data to.
Options or body:
The 2nd argument can either be a string, Buffer og an options hash. The first two should be rather self explanatory, and the options hash can be used to provide custom headers as well as a body to the S3 request:
var options = headers: ... body: '...';
Functions:
s3.head(key, options || body, callback)
- Perform a HEAD requests3.get(key, options || body, callback)
- Perform a GET requests3.post(key, options || body, callback)
- Perform a POST requests3.put(key, options || body, callback)
- Perform a PUT requests3.del(key, options || body, callback)
- Perform a DELETE request
License
MIT