我是AWS Lambda世界的新手,我试图弄清楚我尝试做的事情是否可以通过AWS网络服务实现。
我遇到的情况是SaaS站点会在事件发生时发送JSON数据,所以我需要做的就是使用Restful API(使用AWS API Gateway我假设)可以处理CRUD事件(例如,在SaaS站点中添加/更新/删除新员工,然后AWS API网关将在AWS中路由事件:example.com/employee/create或example.com/employee/update) 。我假设AWS API Gateway将事件路由到相应的Lambda函数?这是否意味着每个CRUD事件必须有多个lambda函数?或者这是标准吗?
如果我的假设是正确的并且事件被发送到其相应的lambda函数,那么接下来需要发生的事情是Lambda函数基本上转换数据,或准备数据,并与另一个最终站点交谈(站点B)通过SOAP客户端。所以回想起来,在这一步中,lambda函数最终将通过SOAP客户端发送转换后的数据。
功能概要:SaaS ---> [AWS-API-Gateway ---> AWS Lambda --->肥皂客户端] - >网站B
这整个场景是否可能?除此之外,有时候带有SOAP API的站点也需要将信息发送回SaaS站点。
我选择的语言是使用Eclipse AWS工具包的Java。在开发lambda函数时,我还可以使用任何Java SOAP客户端吗?有没有我可以参考的例子?
答案 0 :(得分:1)
SaaS ---> [AWS-API-Gateway ---> AWS Lambda --->肥皂客户端] - >网站B
这种架构应该有效。您必须找到一种方法来验证SaaS站点到api网关(使用api密钥/自定义授权器)。
您可以使用单个lambda函数使用客户端将事件推送到站点b并返回响应。任何公共java soap客户端都可以工作。您需要将整个程序编译到jar中并将其作为lambda函数上传。
您可能希望看到的一件事是使用API网关与站点B通信,因为API网关可以转换请求/响应 - http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html。