0.1.0 • Published 11 years ago
recordio-s3 v0.1.0
recordio-s3
A node-task RecordIO interface for Amazon S3
API
read(path, options)
Read a file from Amazon S3 and return a promise which resolves to a node-task Record representing it.
The options
object supports these keys:
client
A knox S3 client (required).encoding
The encoding of the file to be read.
var recordio = require('recordio-s3');
var options = {
client: require('knox').createClient({
key: '<key>',
secret: '<secret>'
bucket: '<bucket>,
secure: false
})
};
recordio.read('test.txt', options).then(function (self) {
console.log(self) // <Record "test.txt" <Buffer ....>>
});
write(record, options)
Save a node-task record to Amazon S3.
The options
object supports these keys:
client
A knox S3 client (required).headers
Set headers for uploaded file (far-future, etc).acl
A valid Canned ACL. Defaults to 'private'. Can also bepublic-read
,public-write
,public-read-write
,authenticated-read
. This is a convenience option for setting thex-amz-acl
header.
var Record = require('record');
var recordio = require('recordio-s3');
var options = {
client: require('knox').createClient({
key: '<key>',
secret: '<secret>'
bucket: '<bucket>,
secure: false
}),
acl: 'private', // 'public-read' | 'public-read-write' | 'authenticated-read'
headers: {
"Cache-Control": "max-age=315360000"
}
};
var record = new Record('test.txt', 'utf8', 'test file');
recordio.save(record, opts).then(function(self) {
console.log(self); // <Record "test.txt" <Buffer 74 65 73 74 20 66 69 6c 65>>
});
Running Tests
To run the test suite you must first have an S3 account. Then create a file named ./test/s3.json, which contains your credentials and test bucket in this format:
{
"key": "<api-key-here>",
"secret": "<secret-here>",
"bucket": "<your-bucket-name>"
}
0.1.0
11 years ago