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



我遇到了一个有点棘手的情况,我建立了一个lambda函数&API网关,然后我在API网关上设置了cloudfront,以便更快地处理和实现AWS提供的所有端点节点的好处[在API网关服务之上使用cloudfront应该需要更多的时间,但是在它之上使用cloudfront层我得到了更好的结果,也许DNS解析和AWS内部基础设施更好]

我在lambda中设置了一个JAVA函数,它工作得很好,但我想在lambda函数中使用request maker的上下文

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

如果我做直接lambda函数请求,我可以实现,但它需要太多的时间执行直接lambda从我的Android客户端,也我不觉得它很好暴露这些细节,与cloudfront我不确定我应该发送什么头,以便lambda检测它的认知角色和ID使用context.getIdentity().getIdentityId();在lambda

如果有人能理解我的问题,并更好地解释给别人听,我会很高兴的,解释这个问题很复杂。

在技术上

  1. 我可以直接使用认知凭证提供者身份验证来执行lambda函数,但是非常慢

  2. 可以让API网关请求其中认知凭证提供者身份验证,速度比直接lambda执行要好

  3. 可以使云前端请求,但卡在哪里,我不知道如何使用认知凭证提供者授权,而使请求。

谢谢。:)

如果你想在Lambda函数中获得与Cognito相关的信息,并且你正在从API Gateway代理你的请求,你可以使用映射模板来包含你需要的信息,然后你可以从输入对象中获得它。

  1. 我可以直接使用认知凭证提供者身份验证来执行lambda函数,但是非常慢。

    我建议你在python或javascript运行时构建Lambda函数

  2. 可以使API网关请求其中认知凭证提供者身份验证,速度优于直接lambda执行

    API Gateway不能提高Lambda函数的性能,但是API Gateway可以为Lambda函数提供API管理功能。

  3. 可以使云前端请求,但卡在哪里,我不知道如何使用认知凭证提供者授权,而使请求。似乎比API网关快。

    CloudFront不与您的Cognito凭证做任何事情。

我不确定如何在API网关前添加CloudFront分布可以使延迟更好,除非你启用边缘侧缓存,而不是每次调用Lambda函数。

相关内容

  • 没有找到相关文章

最新更新