Skip to content

ruststream-sqs-sns

ruststream-sqs-sns is the Amazon SQS broker for the RustStream messaging framework, with SNS fan-out publishing. It covers long polling, visibility-based retries and dead-lettering through the queue's redrive policy, FIFO message groups, and ships an in-process test broker under its testing feature.

Handlers, routers, codecs, and middleware come from the framework; this crate supplies the transport over the official aws-sdk-sqs and aws-sdk-sns clients, and nothing broker-specific leaks back into the framework.

The crate is published on crates.io and tracks the released ruststream 0.6 line:

ruststream = { version = "0.6", features = ["macros", "json"] }
ruststream-sqs-sns = "0.6"
serde = { version = "1", features = ["derive"] }
crates/ruststream-sqs-sns/examples/sqs_service.rs
#[ruststream::app]
fn app() -> impl App {
    RustStream::new(AppInfo::new("orders", "0.1.0")).with_broker(
        SqsBroker::new()
            .endpoint("http://localhost:4566")
            .test_credentials()
            .region("us-east-1"),
        |b| b.include(handle),
    )
}

Where to go next

  • SQS guide - queue descriptors, settlement, FIFO groups, SNS fan-out, and testing.
  • RustStream docs - the framework itself: subscribers, routing, codecs, middleware, the CLI.
  • API reference - the crate's rustdoc on docs.rs.

How this site relates to the RustStream docs

This site documents the SQS broker only. Framework concepts that apply to every broker (writing subscribers, publishing, routing, codecs, middleware, observability, the CLI) live in the RustStream documentation. The pages here cover what is specific to SQS and SNS and link back to the framework docs where the two meet.