evbus app-merge 组件用于 kafka 队列
项目描述
该项目包含用于 pop-evbus 的 app-merge 组件。
入门
先决条件
Python 3.8+
git (如果从源安装,或为项目做出贡献)
安装
如果想要使用 evbus-kafka,你可以通过安装 PyPI 或源代码来使用它。
从 PyPI 安装
pip install evbus-kafka
从源代码安装
# clone repo
git clone git@gitlab.com:vmware/idem/evbus-kafka.git
cd evbus-kafka
# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
用法
为你的应用配置 pop-evbus。
kafka 配置文件的连接部分接受任何可以在 AIOKafkaProducer 类中使用的参数
credentials.yml
kafka:
default:
connection:
bootstrap_servers:
- localhost:9092
topics:
- topic1
- topic2
加密凭证文件并导出 ACCT 环境变量
$ pip install acct
$ export ACCT_KEY=$(acct encrypt credentials.yml)
$ export ACCT_FILE="$PWD/credentials.yml.fernet"
现在,当你向 evbus 队列发送消息时,它将被传播到你的配置的 kafka 实现。
async def my_func(hub):
await hub.evbus.broker.put(body={"message": "event content"}, profile="default")
测试
运行测试需要Kafka服务器。您可以使用自己的Kafka服务器,或者使用Docker。启动本地Kafka服务器
docker run -p 2181:2181 -p 443:9092 -p 9092:9092 \ ✔ 14s idem-core
--env ADVERTISED_LISTENERS=PLAINTEXT://localhost:443,INTERNAL://localhost:9093 \
--env LISTENERS=PLAINTEXT://0.0.0.0:9092,INTERNAL://0.0.0.0:9093 \
--env SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,INTERNAL:PLAINTEXT \
--env INTER_BROKER=INTERNAL \
krisgeus/docker-kafka
配置与本地RabbitMQ服务器测试的凭据
# credentials.yml
kafka:
test_development_evbus_kafka:
connection:
bootstrap_servers: localhost:9092
加密凭证文件并导出 ACCT 环境变量
$ pip install acct
$ export ACCT_KEY=$(acct encrypt credentials.yml)
$ export ACCT_FILE="$PWD/credentials.yml.fernet"
安装测试需求
$ pip install -r requirements/test.in
使用pytest运行测试:.. code-block:: bash
$ pytest tests
路线图
参考开放问题以获取建议功能列表(以及已知问题)。
致谢
Img Shields使存储库徽章更容易制作。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
evbus-kafka-5.0.0.tar.gz (9.8 kB 查看散列)
构建分布
evbus_kafka-5.0.0-py3-none-any.whl (9.6 kB 查看散列)