Crate dynomite[][src]

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.

Re-exports

pub extern crate rusoto_dynamodb as dynamodb;
pub use error::AttributeError;

Modules

error

Dynomite error types

Macros

attr_map

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

Traits

Attribute

A type capable of being converted into an attrbute value or converted from an AttributeValue

DynamoDbExt

Exention methods for DynamoDb implementations

FromAttributes

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

Item

A type which can be represented as a set of string keys and AttributeValues and may also be coersed from the same set of values

Type Definitions

Attributes

type alias for map of named attribute values