安装sdk工具包 -奇异果体育app竞彩官网下载
环境准备
- 运行环境
python sdk工具包支持在python 2.7 和python 3 的环境运行。 -
安装pycrypto依赖
安装sdk之前,需要先执行命令
pip install pycrypto
安装pycrypto依赖。
下载和安装
方式一:通过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 //公共权限目录
├── http //http请求模块
├── services //服务公共目录
│ └── kms //kms目录
│ ├──kms_client.py //kms客户端入口类
│ ├──keyspec_class.py //密钥类型类
│ ├──origin_class.py //密钥来源类
│ ├──publickeyencoding_class.py //公钥编码类
│ └──protectedby_class.py //保护等级类
├── bce_base_client.py //bce客户端入口类的基类
├── bce_client_configuration.py //针对bos特有的httpclient的配置类
├── bce_response.py //bce客户端的请求类
├── exception.py //bce客户端的异常类
├── protocol.py //网络协议定义
├── region.py //区域处理模块
├── retry_policy.py //bce服务公共配置类
└── utils.py //bce公用工具类
卸载sdk
卸载 sdk 时,执行命令pip uninstall bce-python-sdk
即可完成卸载。
#初始化
##确认endpoint
kms目前支持“华北-北京”、“华南-广州”和“华东-苏州”三个区域。
北京区域:http://bkm.bj.baidubce.com
,广州区域:http://bkm.gz.baidubce.com
,苏州区域:http://bkm.su.baidubce.com
。
访问区域 | 对应endpoint |
---|---|
bj | bkm.bj.baidubce.com |
gz | bkm.gz.baidubce.com |
su | bkm.su.baidubce.com |
##获取密钥 要使用百度智能云kms,您需要拥有一个有效的 ak(access key id)和sk(secret access key)用来进行签名认证。ak/sk是由系统分配给用户的,均为字符串,用于标识用户,为访问kms做签名验证。 可以通过如下步骤获得并了解您的ak/sk信息:
新建kmsclient
kmsclient是kms服务的客户端,为开发者与kms服务进行交互提供了一系列的方法。 使用ak/sk新建kmsclient。 ###通过ak/sk方式访问kms 用户可以参考如下代码新建一个kmsclient: 1.在新建kmsclient之前,需要先创建配置文件对kmsclient进行配置,以下将此配置文件命名为kms_sample_conf.py,具体配置信息如下所示:
#!/usr/bin/env python
#coding=utf-8
#导入python标准日志模块
"""
mvs test
"""
import logging
#从python sdk导入bos配置管理模块以及安全认证模块
from baidubce.bce_client_configuration import bceclientconfiguration
from baidubce.auth.bce_credentials import bcecredentials
#设置bosclient的host,access key id和secret access key
kms_host = b"http://bkm.bj.baidubce.com"
access_key_id = b"ak"
secret_access_key = b"sk"
#设置日志文件的句柄和日志级别
logger = logging.getlogger('baidubce.services.kms.kmsclient')
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=kms_host)
注意: 针对日志文件,logging有如下级别:debug,info,warning,error,critical。
在上面代码中,access_key_id对应控制台中的“access key id”,secret_access_key对应控制台中的“access key secret”,获取方式请参考《操作指南 》。
上面的方式用户需要自己指定kms的服务的域名,可以通过赋值给kms_host变量来指定。
2.在完成上述配置之后,参考如下代码新建一个kmsclient。
#导入kmsclient配置文件
import kms_sample_conf
#导入kms相关模块
from baidubce import exception
from baidubce.services.kms import kms_client
from baidubce.services.kms import keyspec_class
from baidubce.services.kms import origin_class
from baidubce.services.kms import protectedby_class
from baidubce.services.kms import publickeyencoding_class
#新建kmsclient
kmsclient = kms_client.kmsclient(kms_test_config.config)
通过sts方式访问kms
kms可以通过sts机制实现第三方的临时授权访问。sts(security token service)是百度智能云提供的临时授权服务,详情可参见百度智能云sts使用介绍。通过sts,您可以为第三方用户颁发一个自定义时效和权限的访问凭证。第三方用户可以使用该访问凭证直接调用百度智能云的api或sdk访问百度智能云资源。 通过sts方式访问bos,用户先通过sts-client申请一套ak、sk和token,然后将该套参数配置到kmsclient中,用户可以参考如下代码新建一个kmsclient:
- 获取临时token,创建配置文件"sts_sample_conf.py"对kmsclient进行配置。
import logging
from baidubce.bce_client_configuration import bceclientconfiguration
from baidubce.auth.bce_credentials import bcecredentials
sts_host = "sts_host"
access_key_id = "ak"
secret_access_key = "sk"
logger = logging.getlogger('baidubce.services.sts.stsclient')
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)
config = bceclientconfiguration(credentials=bcecredentials(access_key_id, secret_access_key), endpoint=sts_host)
注意: 目前使用sts配置client时,无论对应kms服务的endpoint在哪里,endpoint都需配置为
在上面代码中,access_key_id对应控制台中的“access key id”,secret_access_key对应控制台中的“access key secret”。
- 新建stsclient,并使用获得的临时token,配置bceclientconfiguration。创建文件"sts_sample.py"通过stsclient申请一套ak、sk和token。
import sts_sample_conf
from baidubce.services.sts.sts_client import stsclient
from baidubce.bce_client_configuration import bceclientconfiguration
from baidubce.auth.bce_credentials import bcecredentials
sts_client = stsclient(sts_sample_conf.config)
duration_seconds = 3600
# you can specify limited permissions with acl
access_dict = {}
access_dict["service"] = "bce:kms"
access_dict["region"] = "bj"
access_dict["effect"] = "allow"
resource = ["*"]
access_dict["resource"] = resource
permission = ["read"]
access_dict["permission"] = permission
access_control_list = {"accesscontrollist": [access_dict]}
# 新建stsclient
response = sts_client.get_session_token(acl=access_control_list, duration_seconds=duration_seconds)
sts_ak = str(response.access_key_id)
sts_sk = str(response.secret_access_key)
token = response.session_token
kms_host = "kms_host"
#配置bceclientconfiguration
config = bceclientconfiguration(credentials=bcecredentials(sts_ak, sts_sk), endpoint = kms_host, security_token=token)
- 在完成上述配置之后,参考如下代码新建一个kmsclient。
import sts_sample
#导入kms相关模块
from baidubce import exception
from baidubce.services.kms import kms_client
from baidubce.services.kms import keyspec_class
from baidubce.services.kms import origin_class
from baidubce.services.kms import protectedby_class
from baidubce.services.kms import publickeyencoding_class
#新建kmsclient
kmsclient = kms_client.kmsclient(sts_sample.config)
配置https协议访问kms
您可以通过如下两种方式在kms python sdk中使用https访问kms服务:
- 在endpoint中指定https:
config = bce_client_configuration.bceclientconfiguration(
credentials = bce_credentials.bcecredentials(
access_key_id = 'your-ak',
secret_access_key = 'your-sk'
),
endpoint = 'https://bkm.bj.baidubce.com'
)
client = kms_client.kmsclient(config)
- 通过在protocol中指定https来设置https协议:
config = bce_client_configuration.bceclientconfiguration(
credentials = bce_credentials.bcecredentials(
access_key_id = 'your-ak',
secret_access_key = 'your-sk'
),
endpoint = 'bkm.bj.baidubce.com',
protocol = baidubce.protocol.https
)
client = kms_client.kmsclient(config)