1

現在、私のモバイルフロントエンドがイメージのAWS s3アップロードを実行する設定があります。 s3アップロードは、さまざまなジョブとアクションを実行するAWSステップ関数(状態マシン)を開始するAWSラムダ関数をトリガします。AWS S3トリガラムダ関数からの応答を受け取る方法は?

私は、ステップ関数の終わりに出力をモバイルデバイスに戻すための最良の(そして最も時間効率の良い)方法を探しています。

ステートマシンのexecutionARNを監視し、完了したらデータを取得します。これはawslabs lambda-refarch-imagerecognition実装hereの場合のようです。しかし、私のフロントエンドはモバイルになっているので、ステートマシンが終了したかどうかを確認するために多くの要求を送受信する必要はありません。

もう1つの解決策は、s3のアップロードがスタンドアロンのイベントであるようにプロセスをリファクタリングし、成功したらステップ関数をトリガするAWS APIゲートウェイへのAPIリクエストを作成することです。 API POST要求は応答を返します。ここでの問題は、アプリケーションがステートマシンを起動するためにs3応答を待つ必要があることです。

このシーケンスを実行し、応答を受け取る良い方法はありますか?理想的には、s3アップロードはステートマシンからの完全な応答を返します。このようにして、1つのリクエスト(画像アップロード)と1つのレスポンスがあります。

+0

あなたのフロントエンドが聞くコールバックURLを設定してみてください。ラムダが終了すると、コールバックURLに応答を送信し、モバイルデバイスに完了したことを知らせます。 –

+1

Amazon SNS Mobile Push Notificationsを見ましたか? – jarmod

答えて

0

Amazon SNS - >プッシュ通知を使用します。あなたは、 "たくさんのリクエスト"を避けたい(そしてレスポンスやポーリングを待っている)と言います。

Amazon SNSでは、特定のトピックに公開することができます。

トピックに「購読」されているものは、そのトピックに1つ(ステートレスな更新情報)が公開されるたびに通知/メッセージを受信します。

AWS SNS

「モバイルフロントエンド」(デバイス - あなたが言及)/「のメッセージを受け取ることになる」SNSエンドポイント/トピックからプッシュ通知を受け取ります。

これは、「状態マシン」が完了したときに起動され、モバイルデバイスがプッシュ通知を介して「タイムリーな更新を取得」できるようにします。

これにより、応答のポーリングが回避されます。

関連する問題