1

我目前有一個設置,我的移動前端執行圖像的AWS s3上載。 s3上傳觸發AWS lambda函數,該函數啓動執行各種作業和操作的AWS步驟函數(狀態機)。如何接收來自AWS S3的響應,觸發了lambda函數?

我正在尋找最好的(也是最省時的)方法,以便將輸出功能返回到移動設備。

一種方法是監視狀態機的executionARN,並在完成時提取數據。這似乎是awslabs lambda-refarch-imagerecognition實現here的情況。但是,我的前端是移動設備,我不想發送和接收很多請求來檢查狀態機是否完成。

另一個可能的解決方案是重構該過程,以便s3上傳是獨立事件,一旦成功,向AWS API網關發出API請求,以觸發該步驟功能。 API POST請求將返回響應。這裏的問題是,應用程序必須等待s3響應才能繼續啓動狀態機。

是否有更好的方法來執行這個序列並接收響應。理想情況下,s3上傳將返回狀態機的完整響應。這樣就有一個請求(圖片上傳)和一個響應。

+0

您可以嘗試設置您的前端將要偵聽的回調URL,並且一旦該lambda完成後,將響應發送到回調URL並讓移動設備知道它已完成。 –

+1

你看過亞馬遜SNS移動推送通知嗎? – jarmod

回答

0

我會使用Amazon SNS - >推送通知。你說你想避免提出「很多請求」(並等待響應 - 或輪詢)。

Amazon SNS允許您發佈到特定主題。

任何被「訂閱」到主題的東西,只要有一個(無狀態更新)發佈到主題,就會(接收通知/消息)。

AWS SNS

「移動前端」(設備 - 你提到)「將接收到消息」 /從SNS端點/主題接收推送通知。

這可以在「狀態機」完成時觸發,允許移動設備通過推送通知「及時更新」。

這將避免輪詢響應。

相關問題