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