通过许多代理(如kafka、aws sqs、rabbitmq等)连接系统。
plumb的Python项目详细描述
Author: | Spectro |
---|---|
Date: | 2018-10-01 |
Version: | 1.2.5 |
License: | MIT License |
提供更高级别的接口,以便与数据生产者和使用者一起工作。plumb支持五个后端:rabbitmq, redis、amazon sqs和sns服务、kafka和一个内存实现(设计成一个测试工件)。
重点是python 3和^{str1}$boto3(用于aws支持)。
API
plumb使用source和sink的概念来抽象后端。数据以json编码传输,并由 默认使用zlib压缩。
要获取原始包,请使用“包源”对象,该对象处理后端连接及其配置和 公开“get()”方法。类似地,“package sink”对象公开“put(pkg)”方法。
您可以直接从包中实例化源和汇,也可以使用 在plumb包中公开的工厂函数。此函数接收一个json,其中包含源的配置 或接收并返回此类已配置设备的列表。
测试
该库提供了redis和aws的单元测试和集成测试。运行单元测试:
python setup.py test
或者使用nose:
nosetests tests/unit
可以使用nose运行集成测试:
nosetests tests/integration
记住boto3将获取您的aws凭据。它当前尝试环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY,然后尝试~/.aws目录。有关详细信息,请参见Boto3 Credentials Configuration。