AWS API网关路由

时间:2020-10-13 19:31:30

标签: aws-lambda

无论是否存在特定标头,如何将来自API网关的请求路由到lambda函数A / B / C?

https://api.example.com/prod

if the headers "UserType" is:

guest -> redirect to lambda A
normal -> redirect to lambda B
admin -> redirect to lambda C

我知道如何仅使用不同的网址,例如:

https://api.example.com/prod
https://api.example.com/dev

1 个答案:

答案 0 :(得分:1)

实际上是不可能的。我们只能将一个Lambda函数与API网关的特定资源绑定。标头可作为lambda函数本身中的事件参数进行访问。

首选方法是在lambda中创建3个不同的函数(您的业务逻辑将驻留在这里),并根据您可以调用该函数的用户类型。

如果您确实要使用三个不同的lambda,则可以使用aws-sdk中可用的 invoke 方法。您可以参考以下链接获取代码语法和示例。

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html#invoke-property

第二种方法肯定会增加响应时间。