#lua #lua-bindings #kafka #api-bindings

mlua-samsa

Lua 版本的 Samsa kafka 客户端绑定

3 个版本

0.1.2 2024 年 5 月 11 日
0.1.1 2024 年 3 月 9 日
0.1.0 2024 年 3 月 2 日

#7 in #lua-bindings

Download history 23/week @ 2024-04-09 6/week @ 2024-04-23 178/week @ 2024-05-07 12/week @ 2024-05-14 21/week @ 2024-05-21 1/week @ 2024-05-28 12/week @ 2024-06-04 2/week @ 2024-06-11 15/week @ 2024-06-18

353 个月下载量

MIT 许可证

23KB
419 行代码(不含注释)

mlua-samsa

Lua 版本的 Samsa kafka 客户端绑定。

License Arch Lua

安装

使用 MLua 的功能之一将此库添加到您的 Rust 项目中:[lua51, lua52, lua53, lua54, luajit, luajit52]。

$ cargo add mlua-samsa --features luajit

使用

use mlua::Lua;
use mlua_samsa;

let lua = Lua::new();
mlua_samsa::preload(&lua)?;
let script = r#"
    local samsa = require('samsa')
    local bootstrap_addrs = 'localhost:9092'
    local topic = 'my-topic'
    local producer = samsa.ProducerBuilder:new(bootstrap_addrs, topic):build()
    
    local message = {
        partition_id = 0,
        topic = topic,
        key = 'my-key',
        value = 'my-value',
    }
    producer:produce(message)     
"#;
lua.load(script).exec()?;

测试

$ make check

集成测试

$ KAFKA_BROKERS=127.0.0.1:9092 KAFKA_TOPIC=abc make check

依赖项

~18–50MB
~853K SLoC