Crate sqs_listener

Crate sqs_listener 

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(())
}

Re-exports§

pub use rusoto_core::credential;

Modules§

request
AWS API requests.

Structs§

ConfigBuilder
Builder for Config.
Message

An Amazon SQS message.

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
Region
An AWS region.

Type Aliases§

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