#dynamo-db #rusoto #serde

bin+lib dynamodb_data

基于 Serde 的序列化支持以及使用 rusoto_dynamodb crate 与 Dynamodb 交互的辅助工具

9 个版本

0.1.8 2019 年 9 月 23 日
0.1.7 2019 年 9 月 21 日

#1449 in 编码

MIT 许可证

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