[][src]Crate dynomite

Dynomite is set of high-level interfaces built on top of rusoto_dynamodb which make interacting with AWS DynamoDB more productive.

Data Modeling

Dynomite adapts Rust's native types to DynamoDB's core components to form a coherent interface.

The Attribute type provides conversion interfaces to and from Rust's native scalar types which represent DynamoDB's notion of "attributes". The goal of this type is to make representing AWS typed values feel more natural and ergonomic in Rust. You can implement Attribute for your own types to leverage higher level functionality.

The Item type provides conversion interfaces for complex types which represent DynamoDB's notion of "items".

💡 A cargo feature named "derive" makes it easy to derive Item instances for your custom types. This feature is enabled by default.

Rusoto extensions

By importing the dynomite::DynamoDbExt trait, dynomite adds client interfaces for creating async Stream-based auto pagination interfaces

Robust retries

By importing the dynomite::Retries trait, dynomite provides an interface for adding configuration retry policies so your rusoto DynamoDb clients.


Some operations which require coercion from AWS to Rust types may fail result in an AttributeError. These errors were designed to work with the failure crate ecosystem.

Cargo Features

This crate as a few cargo features of note.


Enabled by default, the uuid features adds support for implementing Attribute for the uuid crate type Uuid, a useful type for producing and representing unique identifiers for items that satisfy effective characteristcs for partition keys


Enabled by default, the derive feature enables the use of the dynomite derive feature which allows you simple add #[derive(Item)] to your structs.


Disabled by default, the rustls feature changes overrides Rusoto's default tls dependency on OpenSSL, replacing it with a rustls based tls implementation. When you enable this feature. It will also enable uuid and derive by default.

To disable any of these features

version = "xxx"
default-features = false
features = ["feature-you-want"]


pub use rusoto_dynamodb_default as dynamodb;
pub use crate::retry::Retries;
pub use crate::error::AttributeError;



Dynomite error types


Retry functionality



Creates a HashMap<String, AttributeValue> from a list of key-value pairs



A type capable of being converted into an or from and AWS AttributeValue


Extension methods for DynamoDb client types


A type capable of being produced from a set of string keys and AttributeValues


A type which can be converted to and from a set of String keys and AttributeValues.

Type Definitions


Type alias for map of named attribute values