Crates.io | lambda_sqs |
lib.rs | lambda_sqs |
version | 0.2.13 |
source | src |
created_at | 2021-09-16 16:28:36.228708 |
updated_at | 2024-11-09 04:05:30.351677 |
description | Handles an SQS event and provides a vec of your type for processing. |
homepage | |
repository | https://github.com/jerus-org/lambda_sqs |
max_upload_size | |
id | 452336 |
size | 27,131 |
Specialised lambda_runtime to accept and process events from SQS.
SQS dispatches events to a lambda function in batches (often, it seems to my surprise). This crate provides a lambda_runtime implementation that expects to receive a batch of messages in the[SqsEvent] type and provides a method to transform the batch of events to a vec of your Struct.
To use the crate add the dependency in Cargo.toml.
[dependencies]
lambda_sqs = " 0.2.13"
use your_module::YourStruct;
use lambda_sqs::{handler_fn, Context, Error};
use lambda_sqs::SqsEvent;
#[tokio::main]
async fn main() -> Result<(), Error> {
lambda_sqs::run(handler_fn(my_handler)).await?;
Ok(())
}
pub async fn my_handler(e: SqsEvent, c: Context) -> Result<(), Error> {
let events: Vec<YourStruct> = e.into_t();
# // Process events
# Ok(())
}
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.