安装SDK工具包

运行环境

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

安装步骤

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

  2. 进入下载目录。

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

    python setup.py install
    

    SDK目录结构

    baidubce

    ├── auth                    //公共权限目录
       ├── services                //服务公共目录
       │   └── vca                 //VCA目录
       └── http                    //Http请求模块
    

VcaClient

配置VcaClient

通过AK/SK方式访问VCA

VcaClient是 VCA 服务的Python客户端,封装了Restful服务的通信细节,为开发者提供简单易用的交互工具。

在新建VcaClient之前,需要先创建配置文件对VcaClient进行配置,以下将此配置文件命名为vca_sample_conf.py,具体配置信息如下所示:

#!/usr/bin/env python
#coding=utf-8

#导入Python标准日志模块
import logging

#从Python SDK导入VCA配置管理模块以及安全认证模块  
from baidubce.bce_client_configuration import BceClientConfiguration
from baidubce.auth.bce_credentials import BceCredentials

#设置VcaClient的Host,Access Key ID和Secret Access Key
vca_host = "vca.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 = 'vca.bj.baidubce.com')

注意:

  • 针对日志文件,Logging有如下级别:DEBUG,INFO,WARNING,ERROR,CRITICAL。
  • VCA 为全局服务,服务域名是vca.bj.baidubce.com。

新建VcaClient

在完成上述配置之后,参考如下代码新建一个VcaClient。

#导入VcaClient配置文件
import vca_sample_conf 

#导入VCA相关模块
from baidubce import exception
from baidubce.services import vca
from baidubce.services.vca.vca_client import VcaClient

#新建VcaClient
vca_client = VcaClient(vca_sample_conf.config)

设置自定义参数

用户可以设置一些网络参数:

#设置请求超时时间
vca_sample_conf.config.connection_timeout_in_mills = TIMEOUT

#设置接收缓冲区大小
vca_sample_conf.config.recv_buf_size(BUF_SIZE)

#设置发送缓冲区大小
vca_sample_conf.config.send_buf_size(BUF_SIZE)

#设置连接重试策略
#三次指数退避重试
vca_sample_conf.config.retry_policy = BackOffRetryPolicy()
#不重试
vca_sample_conf.config.retry_policy = NoRetryPolicy()

参数说明

通过vca_client_configuration能指定的所有参数如下表所示:

参数 说明
port VCA端口号
send_buf_size 发送缓冲区大小
recv_buf_size 接收缓冲区大小
connection_timeout_in_mills 请求超时时间(单位:毫秒)
retry_policy 连接重试策略,初始化Client时默认为三次指数退避