Crate lambda_sqs
source ·Expand description
lambda_sqs
Specialised lambda_runtime to accept and process events from SQS.
SQS Events
SQS dispatches events to the a lambda function in batches (often, it seems to my surprise). This crate provides a lambda_runtime implementation which expects to receive a batch of messages in the SqsEvent type and provides a method to transform the batch of events to a vector of your Struct.
Example
In Cargo.toml add lambda_sqs as a dependency.
[dependencies]
lambda_sqs = " {0.2.4"
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(())
}
async fn my_handler(e: SqsEvent, c: Context) -> Result<(), Error> {
let events: Vec<YourStruct> = e.into_t();
Modules
async fn(Request) -> Result<Response, Error>
Structs
Configuration derived from environment variables.
The Lambda function execution context. The values in this struct
are populated using the Lambda environment variables
and the headers returned by the poll request to the Runtime APIs.
Incoming Lambda request containing the event payload and context.
Type that accepts a batch of messages from SQS
Traits
An asynchronous function from a
Request
to a Response
.Functions
handler_fnDeprecated
Return a new
ServiceFn
with a closure that takes an event and context as separate arguments.Starts the Lambda Rust runtime and begins polling for events on the Lambda
Runtime APIs.
Returns a new
ServiceFn
with the given closure.Type Definitions
Error type that lambdas may result in