47 个版本 (8 个稳定版)

3.0.0 2024年2月29日
2.3.0 2023年10月17日
2.2.0 2023年2月13日
2.1.2-alpha 2022年6月9日
0.1.0 2018年6月20日

数据库接口 中排名第 156

Download history 297/week @ 2024-04-17 259/week @ 2024-04-24 257/week @ 2024-05-01 468/week @ 2024-05-08 332/week @ 2024-05-15 248/week @ 2024-05-22 265/week @ 2024-05-29 462/week @ 2024-06-05 543/week @ 2024-06-12 383/week @ 2024-06-19 285/week @ 2024-06-26 513/week @ 2024-07-03 443/week @ 2024-07-10 484/week @ 2024-07-17 352/week @ 2024-07-24 288/week @ 2024-07-31

每月下载量 1,660
3 个 Crates 中使用

MIT 许可证

480KB
11K SLoC

EventStoreDB Rust 客户端

Crates.io Crates.io Build Status Discord Crates.io

文档

官方 Rust EventStoreDB rust gRPC gRPC 客户端。

EventStoreDB 是一个从头开始构建用于事件存储的开源数据库,支持 JavaScript 的复杂事件处理。

EventStoreDB 服务器兼容性

此客户端与版本 20.6.1 及以上兼容,并在 Linux、MacOS 和 Windows 上运行。

服务器设置说明可在此处找到 EventStoreDB 文档,遵循 docker 设置以获得最简单的配置。

示例

use eventstore::{ Client, EventData };
use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize, Debug)]
struct Foo {
    is_rust_a_nice_language: bool,
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {

    // Creates a client settings for a single node configuration.
    let settings = "esdb://admin:changeit@localhost:2113".parse()?;
    let client = Client::new(settings)?;

    let payload = Foo {
        is_rust_a_nice_language: true,
    };

    // It is not mandatory to use JSON as a data format however EventStoreDB
    // provides great additional value if you do so.
    let evt = EventData::json("language-poll", &payload)?;

    client
        .append_to_stream("language-stream", &Default::default(), evt)
        .await?;

    let mut stream = client
        .read_stream("language-stream", &Default::default())
        .await?;

    while let Some(event) = stream.next().await? {
        let event = event.get_original_event()
          .as_json::<Foo>()?;

        // Do something productive with the result.
        println!("{:?}", event);
    }

    Ok(())
}

支持

支持信息可在此处找到: EventStoreDB 支持

文档

EventStoreDB 文档可在此处找到: EventStoreDB 文档

请注意,此客户端尚未得到适当的文档。我们正在努力制作新版本的文档。

社区

我们在 EventStoreDB Discuss 有一个社区讨论空间。

依赖项

~20–34MB
~651K SLoC