6个版本
0.2.11 | 2021年1月9日 |
---|---|
0.2.8 | 2021年1月5日 |
0.2.6 | 2020年12月7日 |
0.2.1 | 2020年11月25日 |
#3 in #cerk
每月29次下载
61KB
998 代码行(不含注释)
cerk_router_rule_based
这是一个CERK的包。CERK是一个用Rust编写,具有微内核架构的开源CloudEvents路由器。
简介
CERK允许您在不同的端口之间路由您的CloudEvents。端口是传输层绑定,CloudEvents可以通过这些端口进行交换。它考虑了模块化和可移植性。
组件
CERK提供了一些预制组件,但实现自定义组件也很容易。
有关详细信息,请参阅GitHub。
本组件:基于规则的路由器
基于规则的路由器根据给定的配置来路由事件。
配置以树形格式结构化。每个输出端口需要配置一个配置树。支持的运算符包括 And
,Or
,Contains
,StartsWith
等。
配置
套接字期望一个 Config::String
作为配置。该字符串应是一个反序列化的json routing_rules::RoutingTable
。
配置示例
最小化
Config::String("{}".to_string())
扩展示例
use serde_json;
use cerk_router_rule_based::{CloudEventFields, RoutingRules, RoutingTable};
let routing_rules: RoutingTable = [(
"dummy-logger-output".to_string(),
RoutingRules::And(vec![
RoutingRules::Exact(
CloudEventFields::Source,
Some("dummy.sequence-generator".to_string()),
),
RoutingRules::EndsWith(CloudEventFields::Id, "0".to_string()),
]),
)]
.iter()
.cloned()
.collect();
let routing_configs = serde_json::to_string(&routing_rules).unwrap();
示例
更新Readme
原始readme文本是位于 lib.rs 文件中的Rust文档注释
cargoinstall cargo-readme
cargo readme > README.md
许可证
Apache-2.0
依赖项
~4–7MB
~149K SLoC