我目前有一个设置,我的移动前端执行 AWS s3 上传图像。s3 上传会触发一个 AWS lambda 函数,该函数启动一个执行各种作业和操作的 AWS 步进函数(状态机)。
我正在寻找最好的(也是最省时的)方法来将步进函数结束时的输出返回到移动设备。
一种方法是监视executionARN
状态机,并在完成后获取数据。这似乎是 awslabs lambda-refarch-imagerecognition implementation here的情况。但是,我的前端是在移动设备上,我宁愿不必发送和接收许多请求来检查状态机是否完成。
另一种可能的解决方案是重构流程,使 s3 上传成为独立事件,一旦成功,就向触发 step-function 的 AWS API 网关发出 API 请求。然后 API POST 请求将返回响应。这里的问题是应用程序必须等待 s3 响应才能继续启动状态机。
有没有更好的方法来执行这个序列并接收响应。理想情况下,s3 上传将返回来自状态机的完整响应。这样就有一个请求(图像上传)和一个响应。