Client¶
一个 Client 是 Zaqar 功能之上的高级抽象。它以面向对象的接口暴露服务器功能,鼓励点符号和自动的、但延迟的资源分配。一个 Client 允许你控制一切,从公共接口到管理端点。
要创建一个 Client 实例,你需要提供一个指向服务器的 URL 和一个版本号
from zaqarclient.queues import client
cli = client.Client('http://zaqar.example.com:8888/', version=2)
这将加载基于指定版本对应的客户端。可选地,你还可以提供一个配置字典
from zaqarclient.queues import client
cli = client.Client('http://zaqar.example.com:8888/',
version=2, conf={})
传递给此函数的所有参数也将传递给客户端实例。
建议使用 Client 实例而不是访问较低级别的 API,因为它被设计用来简化与服务器的交互,并且为最常见的情况提供了足够的控制。
一个通过客户端实例访问现有队列的简单示例 - 基于 API v2 - 如下所示
from zaqarclient.queues import client
cli = client.Client('http://zaqar.example.com:8888/', version=2)
queue = cli.queue('my_queue')
通过队列实例,将能够访问与队列本身相关的所有功能,例如发布消息、获取消息和删除消息。
如本文档前面所述,客户端实例还允许你访问管理端点,例如
from zaqarclient.queues import client
cli = client.Client('http://zaqar.example.com:8888/', version=2)
flavor = cli.flavor('tasty',
pool='my-pool-group',
auto_create=True)
flavor.delete()
Client 使用较低级别的 API 来访问服务器,这意味着你可以通过访问底层 API 来完成可以使用此客户端实例执行的任何操作,尽管不建议这样做。
Client 对象参考¶
这是所有 API 版本的参考文档。
API v2.0
- class Client(url=None, version=2, conf=None, session=None)¶
Client 基类
- 参数:
url (str) – Zaqar 实例的基本 URL。
version (int) – 指向的 API 版本。
conf (oslo_config.cfg.CONF) – CONF 对象。
- flavor(ref, **kwargs)¶
返回一个 flavor 实例
- 参数:
ref (str) – Flavor 的引用名称。
- 返回值:
一个 flavor 实例
- 返回类型:
flavor.Flavor
- flavors(**params)¶
从服务器获取 flavor 列表
- 参数:
params (dict.) – 获取 flavor 的过滤器
- 返回值:
一个 flavor 列表
- 返回类型:
列表
- follow(ref)¶
跟踪 ref。
此方法实例化一个新的请求实例并请求 ref。它旨在用于跟踪从 links 部分获得的引用 href,例如队列列表中的响应。
- 参数 ref:
引用路径。
- health()¶
获取 Zaqar 服务器的详细健康状态。
- homedoc()¶
获取 Zaqar 服务器的详细资源文档
- ping()¶
获取 Zaqar 服务器的健康状态。
- pool(ref, **kwargs)¶
返回一个 pool 实例
- 参数:
ref (str) – Pool 的引用名称。
- 返回值:
一个 pool 实例
- 返回类型:
pool.Pool
- pools(**params)¶
从服务器获取 pool 列表
- 参数:
params (dict.) – 获取 pool 的过滤器
- 返回值:
一个 pool 列表
- 返回类型:
列表
- queue(ref, **kwargs)¶
返回一个 queue 实例
- 参数:
ref (str) – Queue 的引用 ID。
- 返回值:
一个 queue 实例
- 返回类型:
queues.Queue
- queues(**params)¶
从服务器获取 queue 列表
- 返回值:
一个 queue 列表
- 返回类型:
列表
- subscription(queue_name, **kwargs)¶
返回一个 subscription 实例
- 参数:
queue_name (str) – 要订阅的队列的名称。
- 返回值:
一个 subscription 实例
- 返回类型:
subscription.Subscription
- subscriptions(queue_name, **params)¶
从服务器获取 subscription 列表
- 参数:
params (dict.) – 获取 subscription 的过滤器
- 返回值:
一个 subscription 列表
- 返回类型:
列表
- transport()¶
基于 api url 和版本获取一个 transport。
- 返回类型:
zaqarclient.transport.base.Transport