python-奇异果体育app竞彩官网下载
概述
本文档主要介绍证书服务 python sdk的安装和使用。
在阅读本文档前,您需要先开通证书服务,并了解证书服务的基本知识。若您还不了解证书服务,可以参考的证书管理部分
安装sdk工具包
环境准备
- 运行环境
python sdk工具包支持在python 2.7 和python 3 的环境运行。 -
安装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安装到本地。
方式三:使用setup.py install文件进行安装
您也可以解压压缩包后执行如下命令(version替换为包名称中的版本号)
cd bce-python-sdk-version
python setup.py install
sdk目录结构
baidubce
├── auth //公共权限目录
├── services //服务公共目录
│ └── cert //证书服务目录
│ ├── cert_client.py //证书管理服务客户端入口类
│ └── cert_model.py //证书管理服务model,如request或response
└── http //http请求模块
卸载sdk
卸载 sdk 时,执行命令pip uninstall bce-python-sdk
即可完成卸载。
初始化
确认endpoint
用户若要自定义域名,可以通过传入endpoint参数来指定。区域的概念请参考区域选择说明。
在开始sdk使用之前,需要您先确定好要在哪个区域进行操作,从而在配置certclient时将区域对应的endpoint做为参数填入。
证书服务目前不区分区域,endpoint统一为:
获取密钥
要使用百度智能云产品,您需要拥有一个百度智能云账号和一个有效的 ak(access key id)、sk(secret access key)用来进行签名认证。
可以通过如下步骤获得并了解您的ak/sk信息:
1.
2.
获取到密钥后,需要在配置client时做为参数填入。sdk集成了鉴权认证机制,您不需要关心鉴权背后的运算方法,只需要将ak/sk按要求填入对应的位置,sdk将自动为您完成鉴权相关的工作。
新建certclient
certclient是证书服务的客户端,为开发者与证书服务进行交互提供了一系列的方法。
通过ak/sk方式访问证书服务
1.在新建certclient之前,需要先创建配置文件对certclient进行配置,以下将此配置文件命名为cert_sample_conf.py
,具体配置信息如下所示:
# !/usr/bin/env python
# coding=utf-8
# 导入python标准日志模块
import logging
# 从python sdk导入证书服务配置管理模块以及安全认证模块
from baidubce.bce_client_configuration import bceclientconfiguration
from baidubce.auth.bce_credentials import bcecredentials
# 设置certclient的host,access key id和secret access key
cert_host = "certificate.baidubce.com"
access_key_id = "ak"
secret_access_key = "sk"
# 设置日志文件的句柄和日志级别
logger = logging.getlogger('baidubce.services.cert.certclient')
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 = cert_host)
注意: 针对日志文件,logging有如下级别:debug,info,warning,error,critical。
在上面代码中,access_key_id对应控制台中的“access key id”,secret_access_key对应控制台中的“access key secret”,获取方式请参考。
2.在完成上述配置之后,参考如下代码新建一个certclient。
# 导入certclient配置文件
import cert_sample_conf
# 导入证书服务相关模块
from baidubce.services.cert.cert_client import certclient
# 新建certclient
cert_client = certclient(cert_sample_conf.config)
配置https协议访问证书服务
您可以通过如下两种方式在cert python sdk中使用https访问证书服务:
- 在endpoint中指定https:
config = bce_client_configuration.bceclientconfiguration(
credentials = bce_credentials.bcecredentials(
access_key_id = 'your-ak',
secret_access_key = 'your-sk'
),
endpoint = 'https://certificate.baidubce.com'
)
- 通过在
protocol
中指定https
来设置https协议:
config = bce_client_configuration.bceclientconfiguration(
credentials = bce_credentials.bcecredentials(
access_key_id = 'your-ak',
secret_access_key = 'your-sk'
),
endpoint = 'certificate.baidubce.com',
protocol = baidubce.protocol.https
)
client = cert_client.certclient(config)
注意: 如果您在指定了endpoint的scheme的同时指定了protocol参数,则以endpoint为准。
config = bce_client_configuration.bceclientconfiguration(
credentials = bce_credentials.bcecredentials(
access_key_id = 'your-ak',
secret_access_key = 'your-sk'
),
endpoint = 'https://certificate.baidubce.com',
protocol = baidubce.protocol.https
)
client = cert_client.certclient(config)
配置certclient
您可以为certclient设置一些网络参数:
# 设置请求超时时间
cert_sample_conf.config.connection_timeout_in_mills = timeout
# 设置接收缓冲区大小
cert_sample_conf.config.recv_buf_size(buf_size)
# 设置发送缓冲区大小
cert_sample_conf.config.send_buf_size(buf_size)
# 设置连接重试策略
# 三次指数退避重试
cert_sample_conf.config.retry_policy = backoffretrypolicy()
# 不重试
cert_sample_conf.config.retry_policy = noretrypolicy()
参数说明
通过cert_client_configuration能指定的所有参数如下表所示:
参数 | 说明 |
---|---|
port | 证书服务端口号 |
send_buf_size | 发送缓冲区大小 |
recv_buf_size | 接收缓冲区大小 |
connection_timeout_in_mills | 请求超时时间(单位:毫秒) |
retry_policy | 连接重试策略,初始化client时默认为三次指数退避 |
证书管理
证书管理功能主要用于管理用户的ssl证书,当前支持上传证书。 请求中的参数解释见
上传证书
如下代码将上传一个ssl证书:
# import certcreaterequest
from baidubce.services.cert.cert_model import certcreaterequest
# prepare your certificate data
cert_name = 'certificate name'
cert_type = 1
cert_server_data = 'fill certificate here'
cert_private_data = 'fill private key here'
cert_link_data = "fill certificate chain here"
cert_create_request = certcreaterequest(cert_name, cert_server_data, cert_private_data, cert_link_data, cert_type)
# create a certificate
response = cert_client.create_cert(cert_create_request)