9 个版本
0.1.8 | 2019 年 9 月 23 日 |
---|---|
0.1.7 | 2019 年 9 月 21 日 |
#1449 in 编码
18KB
226 行
基于 Serde 的序列化支持以及使用 rusoto_dynamodb
crate 与 Dynamodb 交互的辅助工具。
特性
- 通过
serde_json
自动将您的类型转换为/从rusoto_dynamodb
数据类型。这是serde_dynamodb
(大部分未实现)的替代方案。 - 查询/转换宏
API 示例
use dynamodb_data::*;
use std::collections::HashMap;
let payload: HashMap<String, rusoto_dynamodb::AttributeValue> = fields!{
id => ::uuid::Uuid::new_v4(),
name => "user name",
counter => 0
};
let get_item_query = rusoto_dynamodb::GetItemInput {
key: fields!{
id => ::uuid::Uuid::new_v4()
},
..Default::default()
};
警告
众所周知且广受欢迎的 DynamoDB 会拒绝空字符串,而使用 null,没有任何关于原始类型的元数据……作为一个解决方案,我在尝试通过 ASCII 空字符来编码空字符串(除非有更好的想法)。
这应该比使用例如这里的建议想法更健壮。我没有在任何地方看到过这个,也许我是第一个使用这种解决方案的人。如果 null 编码引起问题,我可以添加一个功能来禁用默认行为。
依赖关系
~19MB
~357K SLoC