QingStor 对象存储近日发布了新版本的 Python SDK ,并开源在 https://github.com/yunify/qingstor-sdk-python。本文将会介绍新版本 Python SDK 的历史背景,变化革新和未来规划。在文章的最后,我们将会展示如何使用新版本的 Python SDK。
历史背景
自 QingStor 对象存储公测时,我们便在 qingcloud-sdk-python 中以面向对象形式的接口提供了 QingStor 对象存储的 Python SDK (为行文方便,下文中将此 SDK 称为旧版 Python SDK)。
该 qingcloud-sdk-python 为手动实现的 SDK,旨在提供所有青云QingCloud 服务的访问。
变化革新
为了加快各语言 SDK 的开发效率,及减小多语言 SDK 的运维成本,我们决定将 SDK 的开发及后期维护自动化。同时,考虑到移动端用户对空间的敏感,我们决定将 QingStor 对象存储的 SDK 与青云QingCloud 其它服务进行分离。
2016 年 12 月 5 日,我们发布了 SDK 自动化生成工具 Snips,及使用 Snips 生成的六种语言 (Go、Ruby、JAVA、Swift、PHP、JS) 的 SDK。
本次发布的 Python SDK (qingstor-sdk-python)就是基于 Snips 进行开发的,(为行文方便,我们在下文中将此 SDK 称为新版 Python SDK ),主要有以下特点:
qingstor-sdk-python 不再与原有的 qingcloud-sdk-python 捆绑,可以灵活地应用于更多场景。
qingstor-sdk-python 有着更完善的 API 设计,对开发者屏蔽了底层的细节,开发者无需关注具体的请求拼装,只需要调用对应的接口即可。
未来规划
考虑到所有语言 SDK 使用接口的统一,新版 Python SDK 的接口实现选择了非面向对象的形式,即与旧版 Python SDK 不兼容。PS:旧版 Python SDK 除修复 Bug 外,我们将不再维护。
新版 Python SDK 将由 QingStor 直接维护,可享受到最及时的新功能增加, BUG 修复和技术支持。
如何使用新版 Python SDK
使用 SDK 之前请先在青云QingCloud 控制台申请 Access Key。
准备工作
发起请求前首先建立需要初始化服务:
from qingstor.sdk.service.qingstor import QingStor
from qingstor.sdk.config import Config
config = Config('ACCESS_KEY_ID_EXAMPLE', 'SECRET_ACCESS_KEY_EXAMPLE')service = QingStor(config)
初始化并创建 Bucket,需要指定 Bucket 名称和所在 Zone:
bucket = qingstor.Bucket('test-bucket', 'sh1a')
output = bucket.put()
可以使用 dir(output)的形式来获取全部可用的属性。特别的,output.headers是一个包含返回中全部 header 的字典;如果请求失败, output.content将会存储返回的错误信息。
接下来将会展示创建,下载,删除一个 Object 的全过程:
创建 Object
with open('/tmp/sdk_bin') as f:
output = bucket.put_object(
'example_key', body=f
)
创建一个 Object 时,允许在 body 中传入一个 file like 对象,也支持直接传入一个字符串。上传一个比较大的 Object 时,建议使用 file 对象,避免将全部数据一次性读入内存。
下载 Object
output = bucket.get_object('example_key')
with open(local_path, "wb") as f:
for chunk in output.iter_content():
f.write(chunk)
下载一个 Object 时,建议使用 output.iter_content() 来获取文件内容。如果访问 output.content ,将会把全部数据一次性读入内存。
删除 Object
output = bucket.delete_object('example_key')
使用中遇到问题请在项目 Issues 区或者直接提交工单反馈。
原文来自:青云QingCloud
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。
IP反查域名是通过IP查询相关联的域名信息的功能,它提供IP地址历史上绑定过的域名信息。
结合权威身份认证的精准人脸风险查询服务,提升人脸应用及身份认证生态的安全性。人脸风险情报库,覆盖范围广、准确性高,数据权威可靠。
全国城市和站点空气质量查询,污染物浓度及空气质量分指数、空气质量指数、首要污染物及空气质量级别、健康指引及建议采取的措施等。
输入手机号和拦截等级,查看是否是风险号码