2017-01-25 74 views
2

构建Web后端的API我工作的一个项目,建立一个后端无服务器网络的API。在阅读AWS api网关/ lambda开发人员指南中的这些文档后,我完全被我可以使用的不同方法所困惑。使用AWS API网关拉姆达

我是很新的所有网页内容包括请求,响应,代理...

我已经尝试了一些解决方案,我发现无论在教程和在线,但仍然感到困惑。

  1. 在API网关合并请求,在整合型,有“lambda函数”和“AWS服务”,如果让我选择AWS服务,那么我仍然可以选择拉姆达。有什么不同?如果我选择lambda,我可以选择“使用lambda代理集成”,我研究了“proxy”,并且我认为我有这个想法,但我仍然感到非常困惑。在我的实验中,只有在选择“使用lambda代理集成”时,才可以在“event”对象中获取请求。有时网页浏览器可以呈现来自lambda的响应,有时需要在API网关内进行一些设置。

  2. 在我的情况下,最佳解决方案/实践是什么?

请帮

回答

3

AWS服务是调用该服务的AWS API。 Lambda函数用于调用Lambda函数。如果您要调用Lambda函数,而不是调用与管理Lambda函数相关的某个AWS API,请选择集成类型“Lambda函数”。

你的第二个问题是如此广泛,我甚至不知道你在问什么。

+0

@Pano:除了马克提供的信息中,“拉姆达代理一体化”是一个选项,如果你想有一个单一的lambda函数接收来自使用多个HTTP方法(GET,PUT,DELETE等)以及多条路径的请求'/ {proxy +}'资源路径(这会捕获根路径下的任何路径)。在这个选项中,您的Lambda函数将接收包含所有HTTP信息(方法,路径,头文件等)的任何请求的标准消息格式。然后,您将确定如何处理请求(基本上实现您自己的路由)。 –

+0

如果希望API网关充当HTTP方法的路由器,并使用不同的HTTP路径和路由到不同Lambda函数的方法,则标准的“Lambda函数”集成请求更合适。 –

+0

它们都是实现无服务器API的有效方式,架构决定将归结为您想要如何处理路由,部署,Lambda函数(您是否想为不同方法使用多种语言?)等。 –

2

尝试Claudia.js这可能是唯一的工具,你需要的。试试BST Proxy。它有一个本地调试的漂亮代理。

2

我想告诉你的无服务器的关键点。

  • AWS API网关作为代理使用,它可以直接访问第三方客户端。

  • AWS拉姆达函数的工作就像在一个私人子网中的EC2。

由于AWS拉姆达不能直接访问的第三方客户端, 所以你需要一个AWS API网关作为代理AWS lambda表达式。