5 个版本
0.1.5 | 2023年12月19日 |
---|---|
0.1.3 | 2023年6月6日 |
0.1.2 | 2023年6月6日 |
0.1.1 | 2023年6月6日 |
0.1.0 | 2023年5月12日 |
#5 in #listener
22KB
262 代码行,不包括注释
sqs_worker
入门指南
可在 crates: crates.io/sqs_worker 上找到
文档可在: docs.rs/sqs_worker 查找
sqs_worker = "0.1.4"
简单示例
简单示例: /examples/simple.rs
use sqs_worker::{SQSListener, SQSListenerClientBuilder};
use std::env;
#[tokio::main]
async fn main() -> eyre::Result<()> {
env_logger::init();
color_eyre::install()?;
let queue_url = env::var("QUEUE_URL").unwrap_or("".to_string());
let region = env::var("REGION").ok();
let listener = SQSListener::new(queue_url, |message| {
println!("Message received {:#?}", message)
});
let client = SQSListenerClientBuilder::new(region)
.listener(listener)
.build()?;
let _ = client.start().await;
Ok(())
}
使用 AWS 凭据启动监听器
带凭据的示例: /examples/with_creds.rs
use sqs_worker::{EnvironmentVariableCredentialsProvider, SQSListener, SQSListenerClientBuilder};
use std::env;
#[tokio::main]
async fn main() -> eyre::Result<()> {
env_logger::init();
color_eyre::install()?;
let queue_url = env::var("QUEUE_URL").expect("QUEUE_URL env variable needs to be present");
let region = env::var("REGION").ok();
let credentials_provider = EnvironmentVariableCredentialsProvider::new();
let listener = SQSListener::new(queue_url, |message| {
println!("Message received {:#?}", message.body())
});
let client = SQSListenerClientBuilder::new_with(region, credentials_provider)
.listener(listener)
.build()?;
let _ = client.start().await;
Ok(())
}
依赖项
~30–42MB
~644K SLoC