AWS API网关路由



在存在或不存在特定头的情况下,如何将请求从基于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

我知道如何只使用不同的URL,例如:

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

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

首选的方法是在lambda&根据用户类型,您可以调用函数。

如果您真的想使用三个不同的lambda,可以使用aws-sdk中提供的invoke方法。您可以参考以下链接了解代码语法&实例

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

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

最新更新