对象存储BOS-BOS Python SDK文档-百度开放云
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BOS Python SDK文档
简介
本文档主要介绍BOS Python SDK的安装和使用。在使用本文档前,您需要先了解BOS的一些基本知识,并已开通了BOS 服务。若您还不了解BOS,可以参考产品描述和入门指南。
安装SDK工具包
运行环境
Python SDK工具包支持在Python 2.7环境下运行。
安装步骤
1.在官方网站下载BOS Python SDK。
2.进入下载目录。
3.在脚本文件中添加以下代码,即可以使用SDK包:
python setup.py install
SDK目录结构
baidubce
├──auth//公共权限目录
├──services//服务公共目录
│└──bos//BOS目录
└──http//Http请求模块
快速入门
1.初始化一个BOSClient。
bos_client是与BOS服务交互的客户端,BOS Python SDK的BOS操作都是通过bos_client完成的。用户可以参考BOSClient。完成初始化客户端的操作。
2.新建一个Bucket。
Bucket是BOS上的命名空间,相当于数据的容器,可以存储若干数据实体(Object)。用户可以参考新建Bucket来完成新建一个Bucket的操作。针对Bucket的命名规范,可以参考Bucket命名规范。
3.上传Object。
Object是BOS中最基本的数据单元,用户可以把Object简单的理解为文件。用户可以参考上传Object完成对Object的上传。
4.列出指定Bucket中的全部Object。
当用户完成一系列上传后,可以参考查看Bucket中Object列表来查看指定Bucket下的全部Object。
5.获取指定Object
用户可以参考获取Object来实现对一个或者多个Object的获取。
BOSClient
配置BOSClient
BOSClient是BOS服务的Python客户端,为调用者与BOS服务进行交互提供了一系列的方法。
在新建BOSClient之前,需要先创建配置文件对BOSClient进行配置,以下将此配置文件命名为bos_sample_conf.py,具体配置信息如下所示:
#!/usr/bin/env python
#coding=utf-8
#导入Python标准日志模块
import logging
#从Python SDK导入BOS配置管理模块以及安全认证模块
from baidubce.bce_client_configuration import BceClientConfiguration
from baidubce.auth.bce_credentials import BceCredentials
#设置访问BOS服务的代理
PROXY_HOST='localhost:8080'
#设置BosClient的Host,Access Key ID和Secret Access Key
bos_host="BOS_HOST"
access_key_id="AK"
secret_access_key="SK"
#设置日志文件的句柄和日志级别
logger=logging.getLogger('baidubce.services.bos.bosclient')
fh=logging.FileHandler("sample.log")
fh.setLevel(logging.DEBUG)
#设置日志文件输出的顺序、结构和内容
formatter=logging.Formatter('%(asctime)s-%(name)s-%(levelname)s-%(message)s')
fh.setFormatter(formatter)
logger.setLevel(logging.DEBUG)
logger.addHandler(fh)
#创建BceClientConfiguration
config=BceClientConfiguration(credentials=BceCredentials(access_key_id,secret_access_key),endpoint= bos_host)
注意:
1.访问BOS服务的代理参数PROXY_HOST可缺省。
2.针对日志文件,Logging有如下级别:DEBUG,INFO,WARNING,ERROR,CRITICAL。
新建BOSClient
在完成上述配置之后,参考如下代码新建一个BosClient。
#导入BOSClient配置文件
import bos_sample_conf
#导入BOS相关模块
from baidubce import exception
from baidubce.services import bos
from baidubce.services.bos import canned_acl
from baidubce.services.bos.bos_client import BosClient
#新建BOSClient
bos_client=BosClient(bos_sample_conf.config)
设置网络参数
用户可以设置一些网络参数:
#设置请求超时时间
bos_sample_conf.config.connection_timeout_in_mills(TIMEOUT)
#设置接收缓冲区大小
bos_sample_conf.config.recv_buf_size(BUF_SIZE)
#设置发送缓冲区大小
bos_sample_conf.config.send_buf_size(BUF_SIZE)
#设置连接重试策略
#三次指数退避重试
bos_sample_conf.config.retry_policy=BackOffRetryPolicy()
#不重试
bos_sample_conf.config.retry_policy=NoRetryPolicy()
参数说明
通过bos_client_configuration能指定的所有参数如下表所示:
参数说明
port BOS端口号
send_buf_size发送缓冲区大小
recv_buf_size接收缓冲区大小
connection_timeout_in_mills请求超时时间(单位:毫秒)
retry_policy连接重试策略,初始化Client时默认为三次指数退避Bucket
Bucket命名规范
Bucket既是BOS上的命名空间,也是计费、权限控制、日志记录等高级功能的管理实体。
•Bucket名称在一个Region中具有全局唯一性,且不能修改。
•存储在BOS上的每个Object都必须包含在一个Bucket中。