Ceph REST API的Python客户端库。
项目描述
python-cephclient是一个用于与Ceph的REST API(ceph-rest-api)通信的Python模块。
这目前还在进行中。
关于
客户端
cephclient类负责通过HTTP调用API并处理响应。它支持对JSON、XML、纯文本或二进制进行查询。
包装器
包装器类扩展了客户端,并提供了一些与API通信的辅助函数。
您可以直接调用客户端,就像包装器一样。包装器存在是为了方便。
开发、反馈、错误
想要贡献?请随意发送拉取请求!
有问题、错误、功能想法?我使用github 问题跟踪器来管理这些问题。
如何使用
安装
通过pip安装包
pip install python-cephclient
安装不工作?
python-cephclient依赖于lxml,它自身又依赖于一些包。要在Ubuntu上安装lxml的依赖项
apt-get install python-dev libxml2-dev libxslt-dev
实例化CephWrapper
from cephclient.wrapper import * wrapper = CephWrapper( endpoint = 'http://apiserver:5000/api/v0.1/', debug = True # Optionally increases the verbosity of the client )
提出您的请求,并指定您期望的响应类型。
可选择 json、xml、text(默认)或 binary。
json
response, body = wrapper.get_fsid(body = 'json') print('Response: {0}, Body:\n{1}'.format(response, json.dumps(body, indent=4, separators=(',', ': ')))) ==== Response: <Response [200]>, Body: { "status": "OK", "output": { "fsid": "d5252e7d-75bc-4083-85ed-fe51fa83f62b" } }
xml
response, body = wrapper.get_fsid(body = 'xml') print('Response: {0}, Body:\n{1}'.format(reponse, etree.tostring(body, pretty_print=True))) ==== Response: <Response [200]>, Body: <response> <output> <fsid><fsid>d5252e7d-75bc-4083-85ed-fe51fa83f62b</fsid></fsid> </output> <status> OK </status> </response>
text
response, body = wrapper.get_fsid(body = 'text') print('Response: {0}, Body:\n{1}'.format(response, body)) ==== Response: <Response [200]>, Body: d5252e7d-75bc-4083-85ed-fe51fa83f62b
binary
response, body = wrapper.mon_getmap(body = 'binary') # < Do something binary with 'body' >
发布说明
0.1.0.5
dmsimard
添加对requests库的缺失依赖
进行了一些PEP8和代码标准化清理
添加root “PUT”方法
添加mon “PUT”方法
添加mds “PUT”方法
添加auth “PUT”方法
Donald Talton
添加osd “PUT”方法
0.1.0.4
修复设置和PyPi安装
0.1.0.3
在‘/tell’下实现了GET API调用。
根(/)下的GET API调用已被重命名,以符合未来开发
0.1.0.2
实现了或修复了缺失的GET调用(所有不在‘/tell’命名空间下的API GET调用现在都受支持)
客户端在请求API调用时可以选择在请求不支持的body类型时抛出异常(例如:通过仅返回二进制的调用包装器请求json将抛出异常)
客户端现在支持二进制类型响应(例如:crush图、mon图等)
改进了README(!)
0.1.0.1
python-cephclient的第一个公开版本
项目详情
python-cephclient-v0.1.0.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9776b786da2aebdc0439ea2f809cc8923f52bc0cf610f77a9c1348466961134b |
|
MD5 | e3746607f1af1573a241b4995c10c938 |
|
BLAKE2b-256 | b24fe8d46c0c836d2d1ed5d194f72a966b6563aab10cfa332c43f24f55224953 |