使用qpid的工具集和用于高级qpid交互的库。
qpid-bow的Python项目详细描述
qpid bow是python 3.6+用来与之通信的更高级别的客户机框架。 amqp/qpid服务器与一组cli工具结合起来管理qpid服务器。
qpid bow的cli工具提供了您一直想要的缺少的工具 管理或调试基于qpid的amqp堆栈。为您提供 使用yaml文件管理队列和交换、设置和保存路由的能力 以及其他各种工具。
作为一个框架,qpid bow可以在 与AMQP/QPID队列集成的低级QPID质子库, 交换和远程过程调用(rpc)功能:
- 简单的,基于回调的接收器,支持监听多个队列。
- 带有自动临时队列和回调的rpc调用。
- 基于队列的发件人。
- 包括用于创建队列/交换的qpid管理代码。
- 支持使用async def回调在python的asyncio事件循环下运行。
要求
- Python3.6+
- python-qpid-proton
- PyYAML
安装
PYPI提供QPID弓:
$ pip install qpid-bow
或者使用 requirements.txt/setup.py/Pipfile。
测试
qpid bow的单元测试需要连接到实际的apacheqpid服务器 成功的考验。默认情况下,测试假设在本地主机上存在服务器。
要指定用于测试的服务器地址,请使用环境变量: AMQP_TEST_SERVERS
可用工具
队列
- qb queue create-创建队列。
- qb queue delete-删除队列。
- qb queue purge-清除队列中的消息。
- qb queue reroute-将消息从队列重新路由到Exchange。
- qb queue stats-打印队列使用统计信息和活动消息数。
消息
- qb message receive-从队列或交换接收消息。
- qb message send-将消息发送到队列或交换。
路由
- qb route dump-查看并保存Exchange->;队列路由。
- qb route config-设置Exchange->;从保存的文件中排队路由。
连接
- qb connection kill-终止与服务器的连接。
会话
- qb session outgoing-列出来自服务器的传出会话。
配置和环境变量
存在几种配置QPID弓的选项。按优先顺序:
传入参数 用户始终可以使用参数覆盖已使用的服务器url:
- 对于cli工具,使用--broker-url命令行参数。
- 对于关键字参数server_url中的库传递。
使用dict配置 当使用qpid bow作为库时,可以使用dict传入config: qpid_bow.config.configure
dict可以包含以下条目:
- amqp_url-要连接的主服务器和故障转移服务器的逗号分隔列表。
- username-当url中没有提供用户名时使用的用户名。
- password-在URL中未提供密码时使用的密码。
环境变量 配置qpid bow工具和库的最简单方法是使用环境变量。 这些变量可以添加到shell的配置文件中,并将自动被获取。
- AMQP_SERVERS-要连接的主服务器和故障转移服务器的逗号分隔列表。
- AMQP_TEST_SERVERS-与AMQP_SERVERS相同,仅用于单元测试。
示例:AMQP_SERVERS=amqp://user:pass@192.168.1.1:5672,amqp://user:pass@192.168.1.2:5672