1 个不稳定版本
0.2.0 | 2021 年 5 月 11 日 |
---|
#1222 在 HTTP 服务器
用于 mu_alb
32KB
585 行 (代码行)
μ-rs
一个极简的 AWS Lambda 运行时。它基于官方的 lambda_runtime
编写,旨在与可信赖的 aws_lambda_event
crate 一起使用。
为什么还需要另一个运行时?
官方 AWS Lambda 运行时非常出色,制作精良,过去几年中已被多位开发者进行了实战测试。然而,众所周知,它的发展速度较慢 - Pull Request 和问题报告可能要等几个月才能得到适当的关注。0.3.0 版本的发布也引入了 默认 API 的额外复杂性,使其更加冗长,对开发者不太友好。
μ-rs 的主要目标是提供一个易于使用的 API,供 AWS 服务器端开发者使用,并利用 Rust 强大的生态系统中的企业级语义。
免责声明:这个 crate 已由其作者尽力开发。虽然目前很有用,但仍在开发初期。
致谢
虽然最初这个库依赖于(官方的)lambda_runtime
crate,但自 0.2.0 版本以来,它已经不再是这样了。当前的代码库深受官方代码库的启发,但代码库已经大大简化。尽管如此,这两个 crate 之间仍然可以看到相似之处。如果这个库被证明是有用的,它可以回溯到上游仓库。
使用方法
设置依赖项。
[dependencies]
mu="0.2.0"
开始监听 Lambda 函数的事件。
// Sample lambda function that listen for SQS events.
use aws_lambda_events::event::sqs::SqsEvent;
use mu;
#[tokio::main]
async fn main() -> mu::RuntimeResult {
mu::listen_events(|sqs_events, ctx| {
handle_sqs_messages(sqs_events)
}).await
}
async fn handle_sqs_messages(sqs_events: SqsEvent) -> Result<(), mu::Error> {
println!("Received {} events", sqs_events.records.len());
Ok(())
}
文档
报告错误/功能请求
我们欢迎您使用 GitHub 问题跟踪器来报告错误或建议功能。
在提交问题之前,请检查现有的开放问题或最近关闭的问题,以确保其他人尚未报告该问题。请尽量提供尽可能多的信息。以下信息非常有用
- 可复现的测试用例或一系列步骤
- 正在使用的代码版本
- 与错误相关的任何修改
- 环境或部署中的任何异常情况
通过拉取请求进行贡献
通过拉取请求的贡献非常受欢迎。在向我们发送拉取请求之前,请确保以下事项:
- 您正在使用最新源码的 master 分支。
- 您已检查现有已开放的拉取请求以及最近合并的请求,以确保问题不是别人已经解决的。
- 您已创建一个issue来讨论任何重要的工作 - 我们不愿意看到您的时间被浪费。
为了向我们发送拉取请求,请:
- 对仓库进行Fork。
- 修改源码;请专注于您要贡献的具体更改。如果您还重新格式化了所有代码,我们将难以关注您的更改。
- 确保本地测试通过。
- 使用清晰的提交信息将更改提交到您的Fork。
- 通过拉取请求界面发送给我们,回答任何默认问题。
- 注意在拉取请求中报告的任何自动化CI失败,并参与对话。
GitHub提供了关于Fork仓库和创建拉取请求的额外文档。
寻找可以工作的贡献
查看现有issue是找到可以贡献内容的好方法。由于我们的项目默认使用GitHub issue标签(增强/错误/重复/帮助所需/无效/问题/不会修复),查看任何'帮助所需' issue是一个很好的开始。
许可
本产品根据Apache License 2条款发布。
依赖关系
~5–17MB
~186K SLoC