16 个版本

0.4.11 2024 年 2 月 20 日
0.4.10 2023 年 8 月 27 日
0.4.9 2023 年 5 月 27 日
0.4.8 2023 年 3 月 8 日
0.0.1 2021 年 12 月 30 日

#495数据库接口

每月 26 次下载

Apache-2.0

57KB
1K SLoC

dynamo-es

cqrs-es 中 PersistedEventRepository 特性的 DynamoDB 实现。

用法

添加到你的 Cargo.toml 文件中

[dependencies]
cqrs-es = "0.4.11"
dynamo-es = "0.4.11"

需要访问具有现有表的 Dynamo DB。请参阅

DynamoDb 注意事项

AWS 的 DynamoDb 运行速度快、灵活且高度可用,但它为你的应用程序设计设置了一些限制。

任何事务中最多 25 个操作

事件以单个事务插入,这限制了此存储库可以处理的事件数量。为了正确操作,命令必须产生的最多事件数不能超过

项目大小限制为 400 KB

单个事件不应达到此大小,但大型序列化的聚合可能会达到。如果您的聚合达到此大小,请务必注意使用 快照聚合存储

最大请求数据大小为 1 MB

这可能会对 快照聚合存储 产生相同的影响。此外,具有大量事件的聚合实例可能会达到此阈值。为了防止加载或重放事件时出错,请将 流通道大小 设置为不会超过此阈值的值。

测试

需要访问具有现有表的 DynamoDb。这可以通过使用包含的 docker-compose.yml 和数据库初始化脚本在本地创建。

准备本地测试环境(需要本地安装DockerAWS CLI

docker-compose up -d
./db/create_tables.sh

请注意,此crate使用了AWS DynamoDb Rust SDK,目前处于开发者预览阶段。这意味着任何错误都将被解决,但底层接口可能仍然会发生变化,从而导致此crate中的重大变化。有关更多信息,请参阅AWS SDK公共路线图

建议配置表以仅允许事务。请参阅:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transaction-apis-iam.html


可能有助于以下内容

Crates.io docs build status

依赖关系

~17MB
~281K SLoC