21个不稳定版本 (9个破坏性更新)
0.10.0 | 2020年9月6日 |
---|---|
0.9.0 | 2020年7月14日 |
0.8.2 | 2020年6月4日 |
0.7.0 | 2019年11月3日 |
0.1.3 | 2018年3月8日 |
#10 in #dynamodb
每月63次下载
用于 dynomite
24KB
461 代码行
🦀🧨
dynomite
dynomite使DynamoDB适合您的类型(反之亦然)
概述
目标
- ⚡ 在Rust中编写dynamodb应用程序是一种高效体验
- 🦀 利用Rust的类型安全功能
- 👩💻 利用rusoto Rust项目的现有工作
- ☔ 承诺支持使用稳定Rust构建的应用程序
- 📚 承诺编写文档
功能
- 💌 更少的样板代码
- ♻️ 自动异步分页
- 🕶️ 客户端级别的重试接口,用于健壮的错误处理
从这
use std::collections::HashMap;
use rusoto_dynamodb::AttributeValue;
use uuid::Uuid;
let mut item = HashMap.new();
item.insert(
"pk".to_string(), AttributeValue {
s: Some(Uuid::new_v4().to_hyphenated().to_string()),
..AttributeValue::default()
}
);
item.insert(
// 🤬typos anyone?
"quanity".to_string(), AttributeValue {
n: Some("whoops".to_string()),
..AttributeValue::default()
}
);
到这
use dynomite::Item;
use uuid::Uuid;
#[derive(Item)]
struct Order {
#[dynomite(partition_key)]
pk: Uuid,
quantity: u16
}
let item = Order {
pk: Uuid::new_v4(),
quantity: 4
}.into();
请参阅API文档了解如何开始。祝您好运。
📦 安装
在您的Cargo.toml文件中,在[dependencies]
标题下添加以下内容
dynomite = "0.10"
🤸 示例
您可以在dynomite/examples下找到一些示例应用程序代码
DynamoDB本地
AWS提供了一种方便的方式来托管本地DynamoDB实例进行测试。
以下是一个使用local.rs示例以及rusoto_dynamodb
在本地快速启动测试的简短示例。
在其中一个终端中启动一个监听在端口8000
的DynamoDB local Docker容器
$ docker run --rm -p 8000:8000 amazon/dynamodb-local
在另一个终端中,运行一个初始化客户端的二进制文件,就像您在local.rs示例中看到的那样
资源
Doug Tangren (softprops) 2018-2020
依赖项
~1.5MB
~36K SLoC