一个用于ceph rest api的python客户端库。

python-cephclient的Python项目详细描述


python cepclient是一个与Ceph’s REST APIceph-rest-api)通信的python模块。

这项工作目前正在进行中。

关于

客户

cepclient类负责通过http和 处理回应。它支持对json、xml、纯文本或二进制文件的查询。

包装器

wrapper类扩展了客户机,并为 与api通信。

没有什么能像包装器那样阻止您直接调用客户机 做。 包装是为了方便起见而存在的。

开发、反馈、缺陷

想做贡献吗?欢迎发送请求!

有问题,错误,功能想法吗? 我使用githubissue tracker来管理它们。

如何使用

安装

通过pip安装软件包:

pip install python-cephclient

安装不起作用?

python cepclient依赖于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
)

执行请求并指定所需的响应类型。

可以使用jsonxmltext(默认)或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>

文本:

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

二进制:

response, body = wrapper.mon_getmap(body = 'binary')
# < Do something binary with 'body' >

发行说明

0.1.0.5

DMIMARD:

  • 添加对请求库缺少的依赖项
  • 一些PEP8和代码标准化清理
  • 添加根“put”方法
  • 添加mon“put”方法
  • 添加mds“put”方法
  • 添加auth“put”方法

唐纳德·塔尔顿:

  • 添加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调用请求不受支持的主体类型时,客户端可以选择引发异常(例如:通过包装器为已知只返回binary的调用请求json将引发异常)
  • 客户端现在支持二进制类型响应(例如:crush map、mon map等)
  • 改进了自述文件(!)

0.1.0.1

  • python cepclient的首次公开发布

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我们可以使用java for loop with switch语句。。?   java如何从具有循环关系的数据集生成树?   使用s:mvcUrl标记时java Spring启动问题   javascript Wicket调色板水平滚动条在firefox中不显示   java如何清理Maven插件绑定?   java将文件从设备发送到计算机不起作用(文件被破坏)   Java GPU编程的性能   java字符串标记器问题   连接Java LDAP断开连接   java Android GridView将无法确定正确的位置   java AlarmManager在指定时间未显示toast消息   MVC中的java测试外观|断言返回类型   logcat上的java Android运行时错误   java Building Workspace在Eclipse中遇到错误   堆栈溢出尾部递归遗传算法抛出“awteventque0”java。StackOverflowerr语言   java ArrayOutOfBounds测试代码不工作   java有没有像Moodle这样流行的课程管理系统?   java如何从jsp获取xml文件作为响应