将使用cloudfront的上下文/授权传递给lambda

时间:2016-09-12 02:40:19

标签: amazon-web-services amazon-cloudfront aws-lambda aws-api-gateway

我进入这里有点棘手的情况, 我设置了一个lambda函数& API网关,然后我通过API网关设置cloudfront,以便更快地处理并实现AWS提供的所有端点节点的优势[在API网关服务上使用cloudfront需要更多时间,但我在云端层的基础上获得了更好的结果它,也许DNS解析和AWS内部基础设施更好]

我在lambda中设置了一个JAVA函数,它工作得很好,但是我想在lambda函数中使用请求制造者的Context

public String handleRequest(UserPOJO input, Context context) {
}

如果我直接使用lambda函数请求我可以实现这一点,但是从我的Android客户端执行直接lambda需要花费太多时间,我也不觉得公开这些细节很好,并且使用cloudfront我不确定我应该发送什么标题,以便lambda使用lambda中的context.getIdentity().getIdentityId();检测它的认知角色和ID。

如果有人在这里理解我的问题并为其他人更好地阐述它,我会很高兴,解释这个问题非常复杂。

技术上

  1. 我可以使用cognito凭证提供程序身份验证直接执行lambda函数但非常慢

  2. 可以使API网关请求哪个认证凭证提供者认证,速度优于直接lambda执行

  3. 可以提出云端请求,但是在我不知道如何在提出请求时使用cognito凭据提供程序授权的情况下。看起来比API网关更快。

  4. 感谢。 :)

1 个答案:

答案 0 :(得分:0)

如果您想在Lambda函数中获取与Cognito相关的信息,并且您要从API网关代理您的请求,您可以使用mapping template包含所需的信息,然后您可以从输入对象获取它。 / p>

  1. 我可以使用cognito凭证提供程序身份验证直接执行lambda函数,但非常慢。

    我建议您在python或javascript运行时中构建Lambda函数。

  2. 可以使API网关请求哪个认证凭证提供者认证,速度优于直接lambda执行

    API网关无法提高Lambda函数的性能,但API网关可以为您的Lambda函数提供API管理功能。

  3. 可以提出cloudfront请求但是在我不知道如何在提出请求时使用cognito凭据提供程序授权的地方。看起来比API网关更快。

    CloudFront对您的Cognito凭据没有任何操作。它只是将所有内容传递给API网关。

  4. 我不确定如何在API网关前添加CloudFront分配可以使延迟更好,除非您启用每次都不调用Lambda函数的边缘缓存。