2017-07-07 86 views
0

我是AWS Lambda世界的新手,我試圖弄清楚我正在嘗試使用AWS Web服務實現。AWS Lambda和API網關加SOAP客戶端

我的情況是SaaS站點會在終端發生事件時發送JSON數據,所以我需要做的是使用Restful API(使用AWS API網關,我假設)可以處理CRUD事件(例如,在SaaS站點中添加/更新/刪除新員工,然後AWS API網關會將事件路由到AWS,如example.com/employee/create或example.com/employee/update)。我假設AWS API網關將事件路由到其相應的Lambda函數?這是否意味着每個CRUD事件必須有多個lambda函數?或者這是標準?

如果我的假設是正確的,並且事件被髮送到其相應的lambda函數,那麼接下來需要發生的事情是Lambda函數基本上轉換數據,或準備數據,並與另一個最終Site (站點B)通過SOAP客戶端。所以回想起來,在這個步驟中,lambda函數最終將通過SOAP客戶端發送已轉換的數據。

功能總結:SaaS的---> [AWS-API網關---> AWS LAMBDA ---> SOAP客戶端] - >站點B

這是整個方案甚至可能嗎?除此之外,有些情況下,使用SOAP API的站點也需要將信息發送回SaaS站點。

我選擇的語言是使用Eclipse AWS工具包的Java。在開發我的lambda函數時,我也可以使用任何Java SOAP客戶端嗎?那裏有我能參考的例子嗎?

回答

1

的SaaS ---> [AWS-API網關---> AWS LAMBDA ---> SOAP客戶端] - >站點B

這個架構應該工作。你必須找出一種方法來驗證api網關的SaaS站點(使用API​​密鑰/自定義授權者)。

您可以使用單個lambda函數使用客戶端將事件推送到站點b並返回響應。任何公共java soap客戶端都可以工作。你需要將整個程序編譯成一個jar文件並將其作爲lambda函數上傳。

您可能想要看的一件事就是隻使用API​​網關與站點B交談,因爲API網關可以轉換請求/響應 - http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html

+0

感謝您花時間回答我的問題 – user1370897

+0

@ user1370897您最終選擇了哪種方法?我正在做一個類似的項目,我需要將我的其餘請求與SOAP服務集成在一起。我在考慮API網關 - > Lambda - > Soap Client - >服務 – munkee