Crate sqs_worker
source ·Expand description
Simple Example
Simple example: examples/simple.rs
ⓘ
use sqs_listener::{Region, SQSListener, SQSListenerClientBuilder};
#[tokio::main]
async fn main() -> eyre::Result<()> {
env_logger::init();
color_eyre::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
ⓘ
use std::env;
use sqs_listener::{
credential::StaticProvider, request::HttpClient, Region, SQSListener, SQSListenerClientBuilder,
};
#[tokio::main]
async fn main() -> eyre::Result<()> {
env_logger::init();
color_eyre::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(())
}
Structs
- Builder for
Config
. - Load Credentials from Environment Variables
An Amazon SQS message.
- The region to send requests to.
- Listener for a
queue_url
with a handler function to be run on each received message - Listener client, first build using SQSListenerClientBuilder and start by calling
start()
Enums
- Error type for ConfigBuilder
- Error type for sqs_listener
Type Definitions
- Used to build a new SQSListenerClient
- Error type of building an SQSListenerClient from its Builder fails