初始化
所有文档

          对象存储 BOS

          初始化

          确定Endpoint

          BOS访问域名为:

          区域 访问Endpoint 协议
          BJ bj.bcebos.com HTTP, HTTPS
          GZ gz.bcebos.com HTTP, HTTPS
          SU su.bcebos.com HTTP, HTTPS

          Node.js端快速入门

          1. 初始化一个BosClient。

          BosClient是与BOS服务交互的客户端,BOS JavaScript SDK的BOS操作都是通过BosClient完成的。

          示例代码:

          var bce = require('@baiducloud/sdk');
          var config = {
           credentials: {
                ak: 'ak',       //您的AK
                sk: 'sk'        //您的SK
             },
           endpoint: <EndPoint> // 'https://bj.bcebos.com'
          };
          1. 新建一个Bucket。

            Bucket是BOS上的命名空间,相当于数据的容器,可以存储若干数据实体(Object)。在您上传数据前,必须先创建一个Bucket。

            示例代码:

            let newBucketName = <BucketName>;    // 新建一个Bucket,指定Bucket名称
            client.createBucket(newBucketName)
              .then(function() {
                     // 创建完成,添加您自已的代码;
               })
               .catch(function(error) {
                    // 创建失败,添加您自己的代码,处理异常
               });
          2. 上传Object。

            Object是BOS中最基本的数据单元,您可以把Object简单的理解为文件。对于一个简单的Object的上传,BOS为您提供了四种方式:文件形式上传、数据流形式上传、二进制串上传和字符串上传。

            示例代码:

            function done(response) {
              // 上传完成
            }
            function fail(fail) {
              // 上传失败
            }
            
            // 以字符串形式上传
            client.putObjectFromString(bucket, object, 'hello world')
              .then(done)
              .catch(fail);
            
            // 以buffer形式上传
            var buffer = new Buffer('hello world'); client.putObject(bucket, object, buffer)
              .then(done)
              .catch(fail);
            
            // 以文件形式上传,仅支持Node.js环境
            client.putObjectFromFile(bucket, object, <path-to-file>)
              .then(done)
              .catch(fail);
            
            // 以blob对象形式上传,仅支持浏览器环境
            client.putObjectFromBlob(bucket, object, <blob对象>)
              .then(done)
              .catch(fail);
          3. 查看Bucket中的Object

            您可以参考如下代码来查看Bucket中的Object列表:

            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) {
                  // 查询失败
              });

          新建BosClient

          BosClient是BOS服务的JavaScript客户端,为开发者与BOS服务进行交互提供了一系列的方法。在使用SDK发起对BOS的请求前,您需要初始化一个BosClient实例,并对它进行一些必要设置。

          • 浏览器端: let BosClient = baidubce.sdk.BosClient
          • Node.js端: import {BosClient} from '@baiducloud/sdk'

          通过AK/SK方式访问BOS

          1. 确定EndPoint。EndPoint是指BOS服务在各个区域的域名地址,默认域名为北京:http://bj.bcebos.com
          2. 传入您的AK/SK。
          3. 将配置好的config传入BosClient。

          示例代码

          用户可以参考如下代码新建一个BosClient:

          let config = {
              endpoint: <EndPoint>,
              credentials: {
                  ak: <AccessKeyID>,           //您的AK
                  sk: <SecretAccessKey>       //您的SK
              }
          
          let client = new BosClient(config);

          注意: EndPoint参数即BOS访问域名,只能用指定的包含区域的域名来进行定义,不指定时默认为北京区域http://bj.bcebos.com。BOS访问域名支持HTTP和HTTPS两种调用方式,为了提升数据的安全性,建议使用https://bj.bcebos.com。百度智能云目前开放了多区域支持,请参考区域选择说明

          通过sts方式访问BOS

          BOS可以通过STS机制实现第三方的临时授权访问。STS(Security Token Service)是百度智能云提供的临时授权服务,详情可参见百度智能云STS使用介绍。通过STS,您可以为第三方用户颁发一个自定义时效和权限的访问凭证。第三方用户可以使用该访问凭证直接调用百度智能云的API或SDK访问百度智能云资源。

          通过sts方式访问BOS,用户先通过sts-client申请一套AK、SK和token,然后将该套参数配置到BosClient中,用户可以参考如下代码新建一个BosClient:

          • Node.js端:
          const {BosClient} = require('@baiducloud/sdk');
          
          var bosConfig = {
              credentials: {
                  ak: '{accessKeyId}', // STS服务器下发的临时ak
                  sk: '{secretAccessKey}' // STS服务器下发的临时sk
              },
              sessionToken: '{sessionToken}',  // STS服务器下发的sessionToken
              endpoint: 'http://bj.bcebos.com'
          };
          
          var client = new BosClient(bosConfig);
          • 浏览器端:
          var bosConfig = {
              credentials: {
                  ak: '{accessKeyId}', // STS服务器下发的临时ak
                  sk: '{secretAccessKey}' // STS服务器下发的临时sk
              },
              sessionToken: '{sessionToken}',  // STS服务器下发的sessionToken
              endpoint: 'http://bj.bcebos.com'
          };
          
          var client = new baidubce.sdk.BosClient(bosConfig);
          上一篇
          安装SDK
          下一篇
          Bucket管理