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