跳至内容

构建处理多个路由的Lambda函数的推荐方法,类似于ExpressJS

0

【以下的问题经过翻译处理】 我需要构建一个无服务器API,可以处理多个路径路由。在普通的NodeJS应用程序中,可以使用ExpressJS或其他HTTP服务器实现来完成此操作。我想从良好的设计角度了解在Lambda中推荐哪种方法?

  • 我可以在Lambda中编写switch case来处理不同的场景。
  • 我可以为每个路径编写不同的Lambda函数,并在API网关中进行前端处理,尝试在API网关中管理路由。对于诸如/getItem和/getItem/id之类的场景,这将变得复杂。
  • 我可以在Lambda代码中使用ExpressJS或其他框架来处理路由部分。
  • 我找到了https://github.com/awslabs/aws-serverless-express。或者这是推荐的方法吗?
专家

已提问 3 年前113 查看次数

1 回答
0

【以下的回答经过翻译处理】 如果你想快速迁移现有的ExpressJS应用程序,我认为从[aws-serverless-express](https://github.com/awslabs/aws-serverless-express)开始是一个不错的选择。如果你已经熟悉ExpressJS,这将让你更容易启动并在本地进行调试。

随着你的应用程序的增长,你可能会想开始使用一些更轻量级的工具,例如[middy](https://github.com/middyjs/middy)并将函数进行分解。这里的想法是通过采用更加模块化的方法,您将能够利用API网关的其他功能,按最小权限原则执行策略,以及调整大小与lambda功能(即[lambda-power-tuning](https://github.com/alexcasalboni/aws-lambda-power-tuning))。

开始的好方法是选择一个serverless框架/工具链。值得探索的一些框架包括:

如果只是一些小的项目,可以从简单开始,根据需要逐步扩展。

专家

已回答 3 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。