https://github.com/avencera/sqs_listener
An easy to use listener, to listen for messages from SQS queues
https://github.com/avencera/sqs_listener
aws hacktoberfest rust sqs
Last synced: 6 months ago
JSON representation
An easy to use listener, to listen for messages from SQS queues
- Host: GitHub
- URL: https://github.com/avencera/sqs_listener
- Owner: avencera
- License: apache-2.0
- Created: 2021-08-02T21:30:21.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-04T18:23:05.000Z (about 4 years ago)
- Last Synced: 2024-09-17T08:24:36.356Z (about 1 year ago)
- Topics: aws, hacktoberfest, rust, sqs
- Language: Rust
- Homepage:
- Size: 33.2 KB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# sqs_listener

[](https://crates.io/crates/sqs_listener)
[](https://docs.rs/sqs_listener)
[](https://www.rust-lang.org)## Getting Started
Available on crates: [crates.io/sqs_listener](https://crates.io/crates/sqs_listener)
Documentation available at: [docs.rs/sqs_listener](https://docs.rs/sqs_listener/)
```toml
sqs_listener = "0.2.0"
```### Simple Example
Simple example: [/examples/simple.rs](/examples/simple.rs)
```rust
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](/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<()> {
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(())
}
```