1

我们在 node js 中有一个无服务器架构的项目。我们计划使用 Middy 来实现 AWS lambda 函数。我们的问题是我们不想为每个 api 端点创建单独的 lambda 函数,我们有非常大的应用程序,可能有超过 100 个 api 端点。

我们想以下列方式使用处理程序。例如:我们有管理用户的功能。它包括 api 端点,例如

  1. 添加用户
  2. 编辑用户
  3. 获取用户

我们希望使用单个 lambda 函数来使用所有这三个端点,因为所有三个 api 共享一些逻辑和模型。

4

1 回答 1

0

Middy 没有用于路由的核心中间件,因为这种模式违背了安全最佳实践(即最小特权)。在您的情况下,如果存在此类漏洞,GET 用户端点将有权添加用户。

我建议为每个端点设置一个 lambda。每个端点都可以从同一个文件中导入。这可确保每个端点都可以拥有自己的 IAM 角色和输入验证。

但是,如果您必须使用相同的 lambda,您可以将 API Gateway 设置为具有指向相同 lambda 的不同路径。然后您可以使用event.requestContext创建一个简单的路由器来满足您的需求。

于 2021-11-13T17:33:57.917 回答