Skip to content

About

Rust types to build a DynamoDB filter or condition expression

Resources

Stars

8 stars

Watchers

1 watching

Forks

Latest commit

 

History

115 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dynamodb-expression

A Rust crate to help build DynamoDB condition, filter, key condition, and update expressions in a type-safe way, including using expression attribute names and expression attribute values.

Crates.io Docs.rs

An example showing a how to use this crate to perform a query:

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?;

For more, see the docs.

Cargo features

This crate only uses aws-sdk-dynamodb for its types. By default it leaves the SDK's default features on, which include the SDK's legacy rustls HTTP client (hyper 0.14 / rustls 0.21). To leave that out, turn off default features and choose the SDK features you need, either through this crate's pass-through features or on your own aws-sdk-dynamodb dependency:

dynamodb-expression = { version = "0.2.0-beta.11", default-features = false }
aws-sdk-dynamodb = { version = "1", default-features = false, features = ["default-https-client", "rt-tokio"] }

Pass-through features: aws-sdk-dynamodb-default (on by default), aws-sdk-dynamodb-behavior-version-latest, aws-sdk-dynamodb-default-https-client, aws-sdk-dynamodb-legacy-https-client, aws-sdk-dynamodb-rt-tokio, and aws-sdk-dynamodb-rustls.

About

Rust types to build a DynamoDB filter or condition expression

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages