安装SDK工具包
更新时间:2020-02-10
环境准备
-
运行环境
Python SDK工具包支持在Python 2.7 以上环境运行。
-
安装pycrypto依赖
安装SDK之前,需要先执行命令
pip install pycrypto
安装pycrypto依赖。
如果安装失败,请执行pip install pycryptodome
下载和安装
方式一:通过pip安装
您可以通过pip安装的方式将百度智能云Python SDK安装到您的环境中。 联网状态下,在命令行中执行如下命令:
pip install bce-python-sdk
即可将Python SDK安装到本地。 方式二:将源码包下载到本地后进行安装
- 在开发者资源中心下载Python SDK压缩工具包。
-
命令行移动到压缩包所在路径,执行如下命令(version替换为包名称中的版本号):
pip install bce-python-sdk-version.zip
即可将Python SDK安装到本地。
您也可以解压压缩包后执行如下命令(version替换为包名称中的版本号)
cd bce-python-sdk-version
python setup.py install
SDK目录结构
baidubce
├── auth //公共权限目录
├── services //服务公共目录
│ └── vcr //VCR目录
└── http //Http请求模块
VcrClient
配置VcrClient
通过AK/SK方式访问VCR
VcrClient是 VCR 服务的Python客户端,封装了Restful服务的通信细节,为开发者提供简单易用的交互工具。
在新建VcrClient之前,需要先创建配置文件对VcrClient进行配置,以下将此配置文件命名为vcr_sample_conf.py
,具体配置信息如下所示:
#!/usr/bin/env python
#coding=utf-8
#导入Python标准日志模块
import logging
#从Python SDK导入VCR配置管理模块以及安全认证模块
from baidubce.bce_client_configuration import BceClientConfiguration
from baidubce.auth.bce_credentials import BceCredentials
#设置VcrClient的Host,Access Key ID和Secret Access Key
vcr_host = "vcr.bj.baidubce.com"
access_key_id = "AK"
secret_access_key = "SK"
#设置日志文件的句柄和日志级别
logger = logging.getLogger('baidubce.http.bce_http_client')
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 = 'vcr.bj.baidubce.com')
注意:
- 针对日志文件,Logging有如下级别:DEBUG,INFO,WARNING,ERROR,CRITICAL。
- VCR为全局服务,服务域名是vcr.bj.baidubce.com。
新建VcrClient
在完成上述配置之后,参考如下代码新建一个VcrClient。
#导入VcrClient配置文件
import vcr_sample_conf
#导入VCR相关模块
from baidubce import exception
from baidubce.services import vcr
from baidubce.services.vcr.vcr_client import VcrClient
#新建VcrClient
vcr_client = VcrClient(vcr_sample_conf.config)
设置自定义参数(可选)
用户可以设置一些网络参数:
#设置请求超时时间
vcr_sample_conf.config.connection_timeout_in_mills = TIMEOUT
#设置接收缓冲区大小
vcr_sample_conf.config.recv_buf_size(BUF_SIZE)
#设置发送缓冲区大小
vcr_sample_conf.config.send_buf_size(BUF_SIZE)
#设置连接重试策略
#三次指数退避重试
vcr_sample_conf.config.retry_policy = BackOffRetryPolicy()
#不重试
vcr_sample_conf.config.retry_policy = NoRetryPolicy()
参数说明
通过vcr_client_configuration能指定的所有参数如下表所示:
参数 | 说明 |
---|---|
port | VCR端口号 |
send_buf_size | 发送缓冲区大小 |
recv_buf_size | 接收缓冲区大小 |
connection_timeout_in_mills | 请求超时时间(单位:毫秒) |
retry_policy | 连接重试策略,初始化Client时默认为三次指数退避 |