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.7"
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§

  • Diagnostic utilities to convert Rust types into Lambda Error types.
  • Tower middleware to be applied to runtime invocations.
  • Utilities for Lambda Streaming functions.
  • async fn(Request) -> Result<Response, Error>
  • This module provides primitives to work with tracing and tracing-subscriber in Lambda functions.

Structs§

Enums§

  • An enum representing the response of a function that can return either a buffered response of type B or a streaming response of type S.

Traits§

  • a trait that can be implemented for any type that can be converted into a FunctionResponse. This allows us to use the into method to convert a type into a FunctionResponse.
  • An asynchronous function from a Request to a Response.

Functions§

Type Aliases§

  • Error type that lambdas may result in