BmrClient
更新时间:2019-08-01
配置BmrClient
BmrClient是BMR服务的Python客户端,为调用者与BMR服务进行交互提供一系列的方法。
在新建BmrClient之前,需要先创建配置文件对BmrClient进行配置,以下将此配置文件命名为bmr_client_conf.py
,具体配置信息如下所示:
Plain Text
1#!/usr/bin/env python
2#coding=utf-8
3
4#导入Python标准日志模块
5import logging
6
7#从Python SDK导入BMR配置管理模块以及安全认证模块
8from baidubce.bce_client_configuration import BceClientConfiguration
9from baidubce.auth.bce_credentials import BceCredentials
10
11#设置BmrClient的Host,Access Key ID和Secret Access Key
12host = "bmr.bj.baidubce.com"
13access_key_id = "your-access-key-id"
14secret_access_key = "your-secret-access-key"
15
16#设置日志文件的句柄和日志级别
17logger = logging.getLogger('baidubce.services.bmr.bmrclient')
18fh = logging.FileHandler("sample.log")
19fh.setLevel(logging.DEBUG)
20
21#设置日志文件输出的顺序、结构和内容
22formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
23fh.setFormatter(formatter)
24logger.setLevel(logging.DEBUG)
25logger.addHandler(fh)
26
27#创建BceClientConfiguration
28config = BceClientConfiguration(credentials=BceCredentials(access_key_id, secret_access_key),
29 endpoint=host)
注意:
- 在上面的代码中,变量access_key_id与secret_access_key是系统分配给用户的,用于标识用户,为访问Media做签名验证。其中access_key_id对应控制台中的“Access Key ID”,secret_access_key对应控制台中的“Access Key Secret”,获取方式请参考《管理ACCESSKEY》。
- BceClientConfiguration构造函数的endpoint参数只能用指定的包含Region的域名来进行定义,目前开放了BMR SDK服务的区域是“华北-北京”和“华南-广州”,北京Region的endpoint的域名是
http://bmr.bj.baidubce.com
,广州Region的endpoint的域名是http://bmr.gz.baidubce.com
。
新建BmrClient
在完成上述配置后,用户可以参考如下代码新建一个BmrClient:
Python
1import logging
2import bmr_client_conf
3from baidubce.services.bmr.bmr_client import BmrClient
4
5logging.basicConfig(level=logging.DEBUG)
6LOG = logging.getLogger(__name__)
7CONF = bmr_client_conf
8
9bmr_client = BmrClient(CONF.config)
参数说明
Python SDK在baidubce/bce_client_configuration.py
中默认设置了一些基本参数,若用户想要对参数的值进行修改,可以参考此文件创建自身的参数配置函数,并在构造BmrClient的时候传入,传入代码参考如下:
Python
1from baidubce.retry_policy import BackOffRetryPolicy
2from baidubce.bce_client_configuration import BceClientConfiguration
3from baidubce.auth.bce_credentials import BceCredentials
4from baidubce.protocol import HTTP
5from baidubce.region import BEIJING
6
7my_policy = BackOffRetryPolicy(max_error_retry=3,
8 max_delay_in_millis=20 * 1000,
9 base_interval_in_millis=300)
10
11my_config = BceClientConfiguration(
12 credentials=BceCredentials('your-access-key-id', 'your-secret-access-key'),
13 endpoint='bmr_service_host',
14 protocol=baidubce.protocol.HTTP,
15 region=baidubce.region.BEIJING,
16 connection_timeout_in_mills=50 * 1000,
17 send_buf_size=1024 * 1024,
18 recv_buf_size=10 * 1024 * 1024,
19 retry_policy=my_policy)
20
21# create BmrClient with my config
22my_client = BmrClient(my_config)
参数说明如下:
参数 | 说明 | 默认值 |
---|---|---|
PROTOCOL |
协议 | baidubce.protocol.HTTP |
REGION |
区域 | baidubce.region.BEIJING(目前只支持北京地区) |
CONNECTION_TIMEOUT_IN_MILLIS |
请求超时时间(单位:毫秒) | 50 * 1000 |
SEND_BUF_SIZE |
发送缓冲区大小 | 1024 * 1024 |
RECV_BUF_SIZE |
接收缓冲区大小 | 10 * 1024 * 1024 |
retry_policy |
重试逻辑 | 最大重试次数3次, 超时时间为20 * 1000毫秒,重试间隔300毫秒 |