Crate nitroglycerin[−][src]
Expand description
nitroglycerin - High level dynamodb crate
ⓘ
use nitroglycerin::{Attributes, Get, Query, Table, DynamoDb, dynamodb::DynamoDbClient}; use rusoto_core::Region; #[derive(Debug, PartialEq, Attributes, Get, Query)] struct Employee { #[nitro(partition_key)] id: String, #[nitro(rename = "firstName")] name: String, joined: i64, left: Option<i64>, } impl Table for Employee { fn table_name() -> String { "Employees".to_string() } } #[derive(Debug, PartialEq, Attributes, Query)] struct EmployeeNameIndex { #[nitro(partition_key, rename = "firstName")] name: String, #[nitro(sort_key)] joined: i64, } impl IndexTable for EmployeeNameIndex { type Table = Employees; fn index_name() -> Option<String> { Some("EmployeeNamesIndex".to_string()) } } let client = DynamoDbClient::new(Region::default()); let employee: Option<Employee> = client.get::<Employee>() .id("emp_1") // get the employee with id "emp_1" .execute().await?; let employees: Vec<EmployeeNameIndex> = client.query::<EmployeeNameIndex>() .name("John".to_string()) // query all employees named "John" .joined().between(1626649200, 1626735600) // who joined between 2021-07-19 and 2021-07-20 .execute().await?; let employees: Vec<EmployeeNameIndex> = client.query::<EmployeeNameIndex>() .name("John".to_string()) // query all employees named "John" .joined().between(1626649200, 1626735600) // who joined between 2021-07-19 and 2021-07-20 .execute().await?;
Re-exports
pub use rusoto_dynamodb as dynamodb;
Modules
module covering conversions to and from dynamodb attribute values
collection of functions and types used to make get item requests
collection of functions and types used to make put item requests
collection of functions and types used to make query requests
Enums
Error returned when parsing attribute values
Error returned by dynamodb requests
Traits
Extension trait providing high level implementations of dynamodb requests
Trait indicating that a type is a dynamodb table
Trait indicating that a type is a dynamodb index
Type Definitions
Convenient type for a attribute value map