用于 SOAP/REST 转换的 AWS API 网关和 Lambda 函数

mun*_*kee 2 rest lambda soap amazon-web-services

我有一个遗留应用程序,它当前使用 SOAP 接口来调用函数。

我希望将此接口提供给网站,优先使用带有 JSON 方案的 REST 来完成。

我希望获得反馈并验证我对解决此问题的想法,如下所述:

为了从 SOAP (XML) <--> REST (JSON) 进行转换,我计划使用以下组件:

  • Amazon API Gateway:从我的网站接收包含基本负载数据的 POST 请求。

  • Lambda 函数:API Gateway 调用一个 AWS lambda 函数,该函数包含一个 soap 客户端包。该函数处理任何必要的转换和映射,它是向我的旧 SOAP 服务发出请求的 Lambda 函数。

  • SOAP 服务:接收请求,执行所需函数并返回 XML 响应

  • Lambda 函数:接收响应,解析任何需要的数据/处理任何错误并将响应调用返回给 API 网关。

  • API 网关:返回 Lamdba 函数调用的结果。

几个问题:

  1. 我不确定它是否是直接向我的 SOAP 服务执行请求的 Lambda 函数,我假设这只是一个封装函数。这样对吗?

  2. Lambda 函数是否将响应返回给网关请求?我相信这是正确的,因为该函数可以同步执行,因此仍然具有返回响应的上下文。

  3. 您通常会在 API 网关内为初始入站请求处理任何身份验证检查,还是将整个请求传递给 Lambda 函数,然后我将在那里执行和执行任何身份验证策略/检查?

Ash*_*han 5

对于问题 1 和 2: 是的,在 Lambda 函数中进行 SOAP 请求和转换是正确的。

对于问题 3:要在 API Gateway 处处理身份验证,您可以使用一个名为 Custom Authorizer 的单独 Lambda 函数。您还可以在自定义授权方 Lambda 函数中对 API 网关终端节点进行授权。