3 个不稳定版本
新功能 0.11.0 | 2024 年 8 月 16 日 |
---|---|
0.10.2 | 2024 年 8 月 13 日 |
0.10.1 | 2024 年 8 月 13 日 |
1 在 #produce 中
每月下载 188 次
150KB
3K SLoC
已记录
logged
命令提供了一种方便地操作基于文件的提交日志的工具。它提供了诸如消费或生成记录的 JSON 文件等功能。不对记录值的结构(有效负载)或是否加密做出任何假设。预期在需要的情况下,在管道中单独使用该工具。
使用示例写入后读取
首先获取可执行文件
cargo install streambed-logged-cli
...或者从这个仓库构建它
cargo build --bin logged --release
...并在 PATH 上创建构建(仅限 cargo build
和每个会话一次)
export PATH="$PWD/target/release":$PATH
...然后将一些数据写入名为 my-topic
的主题
echo '{"topic":"my-topic","headers":[],"key":0,"value":"SGkgdGhlcmU=","partition":0}' | \
logged --root-path=/tmp produce --file -
...然后读取它
logged --root-path=/tmp subscribe --subscription my-topic --idle-timeout=0ms
...输出将如下所示
{"topic":"my-topic","headers":[],"timestamp":null,"key":0,"value":"SGkgdGhlcmU=","partition":0,"offset":0}
如果你使用 nushell,那么你可以做诸如在过程中对有效负载值进行 base64 解码等很棒的事情
logged --root-path=/tmp subscribe --subscription my-topic --idle-timeout=0m | from json --objects | update value {decode base64}
...输出将如下所示
╭────┬──────────┬────────────────┬───────────┬─────┬──────────┬───────────┬────────╮
│ # │ topic │ headers │ timestamp │ key │ value │ partition │ offset │
├────┼──────────┼────────────────┼───────────┼─────┼──────────┼───────────┼────────┤
│ 0 │ my-topic │ [list 0 items] │ │ 0 │ Hi there │ 0 │ 0 │
╰────┴──────────┴────────────────┴───────────┴─────┴──────────┴───────────┴────────╯
使用 --help
来发现所有选项。
依赖关系
~10–19MB
~249K SLoC