安装SDK工具包

运行环境

Python SDK工具包支持在Python 2.7 以上环境运行。

安装步骤

  1. 官方网站下载VCR Python SDK。

  2. 进入下载目录。

  3. 在脚本文件中添加以下代码,即可以使用SDK包:

    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时默认为三次指数退避