Initialization
Determine Endpoint
BOS access domain name is:
Region | Access to Endpoint | Protocol |
---|---|---|
BJ | bj.bcebos.com | HTTP, HTTPS |
GZ | gz.bcebos.com | HTTP, HTTPS |
SU | su.bcebos.com | HTTP, HTTPS |
Node.js End Getting Started
1.Initialize a BosClient.
BosClient is a client interacting with BOS service, and all BOS operations of BOS JavaScript SDK are completed via BosClient.
Sample code:
var bce = require('@baiducloud/sdk');
var config = {
credentials: {
ak: 'ak', //Your AK
sk: 'sk' //Your SK
},
endpoint: <EndPoint> // 'https://bj.bcebos.com'
};
2.Create a bucket.
Bucket is a namespace on BOS. It is equivalent to a container of data and can store several data entities (objects). Before uploading data, you must create a bucket.
Sample code:
let newBucketName = <BucketName>; // Create a bucket and specify the name of the bucket
client.createBucket(newBucketName)
.then(function() {
// Created successfully, add your own code;
})
.catch(function(error) {
// Failed to create, add your own code to handle exception
});
3.Upload object.
Object is the most basic data unit in BOS. You can understand object as a file. OS provides you with four ways to upload an object: File upload, data stream upload, binary string upload and string upload.
Sample code:
function done(response) {
// Uploaded successfully
}
function fail(fail) {
// Failed to upload
}
// Upload in string form
client.putObjectFromString(bucket, object, 'hello world')
.then(done)
.catch(fail);
// Upload in buffer form
var buffer = new Buffer('hello world'); client.putObject(bucket, object, buffer)
.then(done)
.catch(fail);
// Upload in file form only supports Node.js environment
client.putObjectFromFile(bucket, object, <path-to-file>)
.then(done)
.catch(fail);
// Upload in blob form only supports browser environment
client.putObjectFromBlob(bucket, object, <blob对象>)
.then(done)
.catch(fail);
4.View the object in bucket.
client.listObjects(<bucketName>)
.then(function (response) {
var contents = response.body.contents;
for (var i = 0, l = contents.length; i < l; i++) {
console.log(contents[i].key);
}
})
.catch(function (error) {
// Failed to inquire
});
Create BOSClient
BosClient is the JavaScript client of BOS service, providing a series of methods for developer to interact with BOS service. Before using SDK to initiate a request to BOS, you need to initialize a BosClient instance and make some necessary settings to it.
- Browser end:
let BosClient = baidubce.sdk.BosClient
- Node.js end:
import {BosClient} from '@baiducloud/sdk'
Access to BOS via AK/SK
1.Determine the EndPoint. EndPoint is the address of BOS service in various regions, with default domain name Beijing. http://bj.bcebos.com
.
2.Introduce your AK/SK.
3.Introduce the configured config to BosClient.
Sample Code
You can create a BosClient by referring to the following code:
let config = {
endpoint: <EndPoint>,
credentials: {
ak: <AccessKeyID>, //Your AK
sk: <SecretAccessKey> //Your SK
}
let client = new BosClient(config);
Note:
EndPoint
parameter is the BOS access domain name, which can only be defined with the domain name of specified region, and if no domain name is specified, it is Beijing by default. BOS access domain name supports 2 calling methods, HTTP and HTTPS, and to improve the data security, it is recommended to usehttps://bj.bcebos.com
. Baidu AI Cloud currently has opened access to multi-region support, please refer to Region Selection Description.
Access to BOS via sts
BOS can implement temporary authorized access by a third party through the STS mechanism. STS (Security Token Service) is a temporary authorized service provided by Baidu AI Cloud; for more information, please see Introduction to Use of Baidu AI Cloud STS. With STS, you can issue a third-party user with a custom time-based and privileged access credential. The third-party user can use the access credential to directly call API or SDK of Baidu AI Cloud to access its resources.
To access to BOS via sts, users apply for a set of AK, SK and token via sts-client first, and then configure that set of parameters to BosClient, and users can create a BosClient by reference to the following codes:
- Node.js end:
const {BosClient} = require('@baiducloud/sdk');
var bosConfig = {
credentials: {
ak: '{accessKeyId}', // Temporary ak issued by STS server
sk: '{secretAccessKey}' // Temporary sk issued by STS server
},
sessionToken: '{sessionToken}', // Temporary sessionToken issued by STS server
endpoint: 'http://bj.bcebos.com'
};
var client = new BosClient(bosConfig);
- Browser end:
var bosConfig = {
credentials: {
ak: '{accessKeyId}', // Temporary ak issued by STS server
sk: '{secretAccessKey}' // Temporary sk issued by STS server
},
sessionToken: '{sessionToken}', // Temporary sessionToken issued by STS server
endpoint: 'http://bj.bcebos.com'
};
var client = new baidubce.sdk.BosClient(bosConfig);