|
1 |
| -use aws_sdk_dynamodb::model::AttributeValue; |
2 |
| -use aws_sdk_dynamodb::{Client, Error as OtherError}; |
| 1 | +use aws_sdk_dynamodb::{Client}; |
3 | 2 | use lambda_http::{run, service_fn, Body, Error, Request, Response};
|
| 3 | +use serde::{Deserialize, Serialize}; |
| 4 | +use serde_dynamo::to_attribute_value; |
4 | 5 | use tracing::info;
|
5 | 6 |
|
6 |
| -#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)] |
| 7 | +#[derive(Clone, Debug, Serialize, Deserialize)] |
7 | 8 | pub struct Item {
|
8 | 9 | pub p_type: String,
|
9 | 10 | pub age: String,
|
@@ -76,12 +77,12 @@ async fn main() -> Result<(), Error> {
|
76 | 77 |
|
77 | 78 | // Add an item to a table.
|
78 | 79 | // snippet-start:[dynamodb.rust.add-item]
|
79 |
| -pub async fn add_item(client: &Client, item: Item, table: &str) -> Result<(), OtherError> { |
80 |
| - let user_av = AttributeValue::S(item.username); |
81 |
| - let type_av = AttributeValue::S(item.p_type); |
82 |
| - let age_av = AttributeValue::S(item.age); |
83 |
| - let first_av = AttributeValue::S(item.first); |
84 |
| - let last_av = AttributeValue::S(item.last); |
| 80 | +pub async fn add_item(client: &Client, item: Item, table: &str) -> Result<(), Error> { |
| 81 | + let user_av = to_attribute_value(item.username)?; |
| 82 | + let type_av = to_attribute_value(item.p_type)?; |
| 83 | + let age_av = to_attribute_value(item.age)?; |
| 84 | + let first_av = to_attribute_value(item.first)?; |
| 85 | + let last_av = to_attribute_value(item.last)?; |
85 | 86 |
|
86 | 87 | let request = client
|
87 | 88 | .put_item()
|
|
0 commit comments