#dynamo-db #expression #aws-sdk

dynamodb-expression

构建DynamoDB过滤、条件或更新表达式的类型

18次发布

0.2.0-beta.92024年1月26日
0.2.0-beta.82024年1月17日
0.2.0-beta.32023年12月19日
0.2.0-beta.22023年11月28日
0.1.0 2023年8月18日

数据库接口 中排名第 839

Download history 185/week @ 2024-03-09 37/week @ 2024-03-16 121/week @ 2024-03-23 200/week @ 2024-03-30 212/week @ 2024-04-06 41/week @ 2024-04-13 94/week @ 2024-04-20 137/week @ 2024-04-27 17/week @ 2024-05-04 65/week @ 2024-05-11 107/week @ 2024-05-18 183/week @ 2024-05-25 176/week @ 2024-06-01 145/week @ 2024-06-08 236/week @ 2024-06-15 184/week @ 2024-06-22

每月下载量 773

Apache-2.0

320KB
5.5K SLoC

dynamodb-expression

一个Rust crate,帮助以类型安全的方式构建DynamoDB的条件、过滤、键条件和更新表达式,包括使用 表达式属性名称表达式属性值

Crates.io Docs.rs

一个示例,展示如何使用此crate进行查询

use aws_config::BehaviorVersion;
use aws_sdk_dynamodb::Client;
use dynamodb_expression::{Expression, Num, Path};

let client = Client::new(&aws_config::load_defaults(BehaviorVersion::latest()).await);

let query_output = Expression::builder()
    .with_filter(
        "name"
            .parse::<Path>()?
            .attribute_exists()
            .and("age".parse::<Path>()?.greater_than_or_equal(Num::new(2.5))),
    )
    .with_projection(["name", "age"])
    .with_key_condition("id".parse::<Path>()?.key().equal(Num::new(42)))
    .build()
    .query(&client)
    .table_name("people")
    .send()
    .await?;

更多信息,请参阅 文档

依赖项

~17MB
~281K SLoC