BCS

百度云存储

服务简介

百度云存储是百度推出的网络存储服务,旨在利用百度在分布式以及网络方面的优势为开发者提供便捷、简单、高效的存储服务。点击这里了解详情

使用示例

下面是一段简单的示例代码:

import time
import os
from bae.core import const
from bae.api import bcs

HOST = const.BCS_ADDR
AK = const.ACCESS_KEY
SK = const.SECRET_KEY

def test_bcs():
    ### 首先通过云存储管理界面,创建一个bucket
    bname = 'test-bucket'

    ### 创建BCS管理对象
    baebcs = bcs.BaeBCS(HOST, AK, SK)

    ### 读取一个测试文件的内容
    filename = os.path.dirname(__file__) + "/testdata"
    with open(filename) as fd:
        data = fd.read()

    ### 将文件内容上传到 '/obj1' 下
    o1 = '/obj1'
    e, d = baebcs.put_object(bname, o1, data)
    assert e == 0

    ### 上传文件有一定的延迟
    time.sleep(1)

    ### 从 '/obj1' 获取数据
    e, d = baebcs.get_object(bname, o1)
    assert e == 0
    assert d == data

    ### 也可以直接上传文件
    o2 = '/obj2'
    e, d = baebcs.put_file(bname, o2, filename)

    ### 将object内容保存到临时目录下
    tmpdir = (const.APP_TMPDIR if const.APP_TMPDIR else "/tmp")
    filename2 = tmpdir + "/testdata2"
    e, d = baebcs.get_to_file(bname, o2, filename2)
    assert e == 0

    ### 列出所有的object
    e, d = baebcs.list_objects(bname)
    assert e == 0

接口列表

class BaeBCS

访问BCS服务的接口类

__init__(self, host=None, ak=None, sk=None, httpclient_class=None)

构造函数

参数:

host(str): BCS服务器地址

ak(str): access key

sk(str): secret key

httpclient_class:与BCS服务器交互的HTTP接口类,默认为HttplibHTTPC

list_buckets(self)

列举属于自己的buckets

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为bucket name列表

失败情况下,response是服务器返回的原始信息

put_object(self, bname, oname, data)

上传数据到指定object

参数:

bname(str): bucket name,必须预先创建

oname(str): object name

data: 待上传的数据

返回值:

返回值为(errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为None

失败情况下,response是服务器返回的原始信息

get_object(self, bname, oname)

下载object

参数:

bname(str): bucket name,必须预先创建

oname(str): object name

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为object对应的数据

失败情况下,response为服务器返回的原始信息

del_object(self, bname, oname)

删除object

参数:

bname(str): bucket name,必须预先创建

oname(str): object name

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为None

失败情况下,response为服务器返回的原始信息

list_objects(self, bname, prefix='', start=0, limit=100)

列举指定bucket下的所有object

参数:

bname(str): bucket name,必须预先创建

prefix(str): 若指定,则只返回符合prefix的object

start(int): list起始下标,默认为0

limit(int): 返回结果集个数,默认为100

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为object name列表

失败情况下,response为服务器返回的原始信息

copy_object(self, src_bname, src_oname, dst_bname, dst_oname)

复制object

参数:

src_bname(str): 源bucket name

src_oname(str): 源object name

dst_bname(str): 目的bucket name

dst_oname(str): 目的object name

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为None

失败情况下,response为服务器返回的原始信息

put_superfile(self, bname, oname, objlist)

上传superfile

参数:

bname(str): bucket name,必须预先创建

oname(str): object name

objlist(list): 组成superfile的object列表,形式为 [(‘bucket1’, ‘/obj1’), (‘bucket2’, ‘/obj2’)]

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为None

失败情况下,response为服务器返回的原始信息

set_acl(self, bname, oname, acl)

设置bucket或者object的ACL

参数:

bname(str): bucket name,必须预先创建

oname(str): object name;若为’‘,表示设置bucket的ACL,否则设置object的ACL

acl(str): 描述指定bucket或object的ACL的字符串

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为None

失败情况下,response为服务器返回的原始信息

get_acl(self, bname, oname)

获取bucket或者object的ACL

参数:

bname(str): bucket name,必须预先创建

oname(str): object name;若为’‘,表示获取bucket的ACL,否则获取object的ACL

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为描述bucket或object对应的ACL的字符串

失败情况下,response为服务器返回的原始信息

put_file(self, bname, oname, filename)

上传文件到指定的object

参数:

bname(str): bucket name,必须预先创建

oname(str): object name

filename(str): 待上传的文件

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为None

失败情况下,response为服务器返回的原始信息

get_to_file(self, bname, oname, filename)

下载指定object的数据,并保存到指定文件中

参数:

bname(str): bucket name,必须预先创建

oname(str): object name

filename(str): 用于保存数据的文件

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为None

失败情况下,response为服务器返回的原始信息

make_public(self, bname, oname)

允许所有用户访问指定的bucket或object

参数:

bname(str): bucket name,必须预先创建

oname(str): object name

返回值:

返回值为 (errcode, response)形式的tuple

其中errcode为错误码,ERR_OK表示成功,其它表示失败

成功情况下,response为None

失败情况下,response为服务器返回的原始信息

Table Of Contents

Previous topic

TASKQUEUE

Next topic

Channel

This Page