dynomite 0.1.3

provides type conversions between dynamodb types and native rust types
Documentation

Dynomite provides a set of interfaces built on top of rusoto_dynamodb which make working with aws Dynamodb more productive in rust.

Dynamodb is a nosql database aws offers as a managed service. It's abstractions include a table comprised of a collection of items which are a composed of a collection of named attributes which can be one of a finite set of types. You can learn more about its core components here

Rusoto provides an excellent set of interfaces for interacting with the dynamodb API. It's representation of Items is essentially a HashMap of String to AttributeValue types which fits dynamodb's nosql contract well. AttributeValues are able to represent multiple types of values in a single container type.

However, when programming in rust we're afforded stricter, more concise typing tools than HashMaps when working with data. Dynomite is intended to make those types interface more transparently with rusoto item type apis.

Dynomite provides a set of building blocks for making interactions with dynamodb feel more natural for rust's native types.

At a low level, Attribute type implementations provide conversion interfaces to and from native rust types which represent dynamodb's notion of "attributes".

At a higher level, Item type implementations provide converstion interfaces for complex types which represent dynamodb's notion of "items".

You can optionally opt into having Item types derived for you by using the dynomite-derive crate, which utilizes a technique you may be familiar with if you've ever worked with serde.

Errors

Operations that may fail typically result in an AttributeError. These errors were designed to work well with the failure crate ecosystem.

Cargo Features

This crate has one Cargo feature, "uuid", which adds support for implementing Attribute for the uuid crate type Uuid, a useful type for producing and representing unique identifiers for items. This feature is enabled by default.