跳转到主要内容

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
)

提出您的请求,并指定您期望的响应类型。

可选择 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>

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 (10.6 kB 查看哈希值)

上传时间

支持