Crate sqs_worker

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§

ConfigBuilder
Builder for Config.
EnvironmentVariableCredentialsProvider
Load Credentials from Environment Variables
Message

An Amazon SQS message.

Region
The region to send requests to.
SQSListener
Listener for a queue_url with a handler function to be run on each received message
SQSListenerClient
Listener client, first build using SQSListenerClientBuilder and start by calling start()

Enums§

ConfigBuilderError
Error type for ConfigBuilder
Error
Error type for sqs_listener

Type Aliases§

SQSListenerClientBuilder
Used to build a new SQSListenerClient
SQSListenerClientBuilderError
Error type of building an SQSListenerClient from its Builder fails