0.4.0 • Published 11 years ago
baidu-bcs v0.4.0
baidu-bcs
- baidu bcs node.js sdk, friendly with co, koa ...
install
npm install baidu-bcs
api
- putBucket
- listBucket
- deleteBucket
- putObject
- copyObject
- putSuperfile
- getObject
- headObject
- listObject
- deleteObject
- putAcl
- getAcl
document
create bcs client
var BCS = require('baidu-bcs');
var bcs = BCS.createClient({
accessKey: 'access key',
secretKey: 'secret key'
});
/*
* 可选 option
*
* host: default: bcs.duapp.com,
* port: default: 80
* protocol: default: http:
* timeout: default: 300000 // 5 minutes
* ip: // 允许上传的ip,默认为空,即:不限制ip
* time: // 有效时间
* size: // 限制上传最大字节
* agent: default: agent.maxSockets = 20
*/
put bucket
bcs.putBucket({
bucket: '',
acl: ''
}, function (error, result) {});
put bucket with acl
bcs.putBucket({
bucket: '',
acl: ''
}, function (error, result) {});
list bucket
bcs.listBucket(function (error, result) {});
delete bucket
bcs.deleteBucket({
bucket: ''
}, function (error, result) {});
put object with file path
bcs.putObject({
bucket: '',
object: '',
source: './index.js'
}, function (error, result) {});
put object with buffer
bcs.putObject({
bucket: '',
object: '',
source: new Buffer('baidu-bcs'),
headers: {
'Content-Type': 'text/plain'
}
}, function (error, result) {});
put object with stream
bcs.putObject({
bucket: '',
object: '',
source: fs.createReadStream(__filename),
headers: {
'Content-Type': 'text/plain',
'Content-Length': fs.statSync(__filename).size // important: the 'Content-Type' is must
}
}, function (error, result) {});
put object with headers
bcs.putObject({
bucket: '',
object: '',
source: './index.js',
headers: {
'Content-Type': 'text/javascript'
}
}, function (error, result) {});
copy object
bcs.copyObject({
bucket: '',
object: '',
sourceBucket: '',
sourceObject: '',
headers: {
'Content-Type': ''
}
}, function (error, result) {});
head object
bcs.headObject({
bucket: '',
object: ''
}, function (error, result) {});
list object
bcs.listObject({
bucket: '',
start: 1,
limit: 1
}, function (error, result) {});
get object
bcs.getObject({
bucket: '',
object: '',
}, function (error, result) {});
get object to file path
bcs.getObject({
bucket: '',
object: '',
dest: './xxoo.xo'
}, function (error, result) {});
get object to write stream
var writeStream = fs.createWriteStream('./xxoo.xo')
bcs.getObject({
bucket: '',
object: '',
dest: writeStream
}, function (error, result) {});
delete bucket
bcs.deleteBucket({
bucket: ''
}, function (error, result) {});
put acl
bcs.putAcl({
bucket: '',
acl: 'private'
}, function (error, result) {});
get acl
bcs.getAcl({
bucket: ''
}, function (error, result) {});
params note
- bucket - bucket name
- object - object name
- headers - http headers
- sourceBucket - only for
copyObject()
- sourceObject - only for
copyObject()
- the
result
of callback is a object contain:status
,headers
,body
use with co
or koa
var option = {
wrapper: 'thunk', // or: promise
accessKey: '',
secretKey: ''
};
var bcs = BCS.createClient(option);
// in co or koa
yield bcs.listBucket();
test
coverage: 97%
License
MIT