我们有一个具有无服务器架构的节点js中的项目。我们计划使用Middy来实现AWS函数。我们的问题是,我们不想为每个api端点创建单独的lambda函数,我们有非常大的应用程序,它可能有超过100个api端点。
我们希望以如下方式使用处理程序。例如:我们有管理用户的功能。它包括api端点,如
我们希望使用所有这三个端点,使用单个lambda函数,因为这三个api共享一些逻辑和模型。
发布于 2021-11-13 17:33:57
Middy没有用于路由的核心中间件,因为这种模式违背了安全最佳实践(即最小特权)。在您的示例中,如果存在这样的漏洞,GET用户端点将拥有添加用户的权限。
我建议为每个端点设置一个lambda。每个端点都可以从同一个文件中导入。这可以确保每个端点都有自己的IAM角色和输入验证。
但是,如果必须使用相同的lambda,则可以设置API网关,使其具有指向同一lambda的不同路径。然后,您可以使用event.requestContext创建一个简单的路由器来满足您的需求。
编辑: of v3,Middy现在包含支持在lambda中路由的@middy/http-router。这是为了涵盖ALB用例。
https://stackoverflow.com/questions/69043735
复制相似问题