Crates.io | easy-dynamodb |
lib.rs | easy-dynamodb |
version | 0.1.6 |
source | src |
created_at | 2024-09-30 03:14:53.650842 |
updated_at | 2024-10-15 01:43:46.805358 |
description | A easy and simple library for interaction with DynamoDB |
homepage | |
repository | https://github.com/biyard/easy-dynamodb |
max_upload_size | |
id | 1391265 |
size | 30,431 |
Refer to test code in lib.rs
#[derive(Debug, serde::Serialize, serde::Deserialize)]
struct TestModel {
key: String,
id: String,
created_at: i64,
}
let client = Client::new(
slog::Logger::root(slog::Discard, o!("goal" => "testing")),
option_env!("AWS_ACCESS_KEY_ID")
.expect("AWS_ACCESS_KEY_ID is required")
.to_string(),
option_env!("AWS_SECRET_ACCESS_KEY")
.expect("AWS_SECRET_ACCESS_KEY is required")
.to_string(),
option_env!("AWS_REGION")
.unwrap_or("ap-northeast-2")
.to_string(),
option_env!("AWS_DYNAMODB_TABLE")
.expect("AWS_DYNAMODB_TABLE is required")
.to_string(),
option_env!("AWS_DYNAMODB_KEY").unwrap_or("key").to_string(),
None,
None,
)
.await
let ts = chrono::Utc::now().timestamp_nanos_opt();
assert!(ts.is_some(), "timestamp is none");
let ts = ts.unwrap();
let result = client
.create(TestModel {
key: format!("test_create_key-{ts}"),
id: format!("test_create_id-{ts}"),
created_at: ts,
})
.await;