AWS API 以 AWS Lambda 作为中间件的网关代理

AWS API Gateway proxy with AWS Lambda as middle ware

我想使用您的 AWS API 网关作为我后端的单一入口点,它将根据 URL 前缀将请求代理(重定向)到不同的微服务。但是,在进行代理之前,最好有 lambda,它可以检查请求并在允许进行代理时做出决定,或者最好立即做出响应,所以,换句话说,我希望将 AWS lambda 作为中间件。可以吗?

简答

是的,但不要这样做。还有其他解决方案。

解释为什么你不应该这样做

您可以在容器和 API gw 之间使用 lambda,但是将 lambda 用作 'middleware' 是一种反模式,您必须通过让 lambda 在微服务上等待来支付双倍的费用响应。

其他解决方案

不确定您的真正目标和用例是什么,但如果您详细说明您想要实现的目标,我可能会提供帮助。

恕我直言,这将是 API 网关的工作 - 基于不同的 URI 和 HTTP 方法,您可以将请求转发到不同的 lambda。您还可以检查/验证您的请求 params/body and/or 添加授权者(包括 Lambda)。 了解有关用例的更多信息以及 API 网关是否适合它会很有趣