sqs_listener

Build Status Crates.io Documentation Rust 1.52+

Getting Started

Available on crates: crates.io/sqs_listener

Documentation available at: docs.rs/sqs_listener

toml sqs_listener = "0.2.0"

Simple Example

Simple example: /examples/simple.rs

```rust use sqs_listener::{Region, SQSListener, SQSListenerClientBuilder};

[tokio::main]

async fn main() -> eyre::Result<()> { envlogger::init(); coloreyre::install()?;

let listener = SQSListener::new("".to_string(), |message| {
    println!("Message received {:#?}", message)
});

let client = SQSListenerClientBuilder::new(Region::UsEast1)
    .listener(listener)
    .build()?;

let _ = client.start().await;

Ok(())

} ```

Start a listener using AWS creds

Example with creds: /examples/with_creds.rs

```rust use std::env;

use sqs_listener::{ credential::StaticProvider, request::HttpClient, Region, SQSListener, SQSListenerClientBuilder, };

[tokio::main]

async fn main() -> eyre::Result<()> { envlogger::init(); coloreyre::install()?;

let aws_access_key_id =
    env::var("AWS_ACCESS_KEY_ID").expect("AWS_ACCESS_KEY_ID env variable needs to be present");

let aws_secret_access_key = env::var("AWS_SECRET_ACCESS_KEY")
    .expect("AWS_SECRET_ACCESS_KEY env variable needs to be present");

let listener = SQSListener::new("".to_string(), |message| {
    println!("Message received {:#?}", message)
});

let client = SQSListenerClientBuilder::new_with(
    HttpClient::new().expect("failed to create request dispatcher"),
    StaticProvider::new_minimal(aws_access_key_id, aws_secret_access_key),
    Region::UsEast1,
)
.listener(listener)
.build()?;

let _ = client.start().await;

Ok(())

} ```