17 releases
new 0.2.15 | Nov 23, 2024 |
---|---|
0.2.11 | Oct 26, 2024 |
0.2.6 | Jul 27, 2024 |
0.2.4 | Jan 22, 2023 |
0.2.0 | Sep 22, 2021 |
#424 in Web programming
1,142 downloads per month
10KB
57 lines
Rust library lambda_sqs
Specialised lambda_runtime to accept and process events from SQS.
SQS Events
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.
Usage
To use the crate add the dependency in Cargo.toml.
[dependencies]
lambda_sqs = " 0.2.15"
Example
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(())
}
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or apache-url)
- MIT license (LICENSE-MIT or mit-url)
at your option.
Contribution
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.
Dependencies
~7–16MB
~204K SLoC