【发布时间】:2020-03-02 05:09:34
【问题描述】:
我的工作流程可能需要数千或数百万次 Lambda 调用,我正在尝试了解 Step Functions 映射状态是否允许我需要的执行次数。
我正在创建一项服务,该服务将由上传到 S3 存储桶的 CSV 文件触发。 CSV 文件将包含数百万个需要处理的事件注册(不同 Lambda 的流程),并输出成功、失败等摘要。查看不同的服务,我认为 Step Functions 可以协调流程.地图状态允许动态数量的子工作流,但我还没有找到最大数量可能是多少。如果数量可以达到数千,我可以批量执行以限制工作流程。如果不是,我正在考虑以某种方式利用 SQS 或尝试了解 AWS Batch 是否也是一个有效的选项。
Step Functions 的映射状态是否适用于这种具有动态执行次数的流,还是其他服务更适合我的任务?
【问题讨论】:
-
一些明确的问题:处理这样一个文件中的所有行总共需要多长时间?为什么您认为 AWS Lambda 是处理文件的合适方法?您是否考虑过任何其他处理文件的方法?
-
目前我不完全确定处理整个文件需要多长时间,但文件中的每个单独项目大约需要 200 毫秒。考虑多个 Lambda 实例同时执行此操作的扇出方法。目前认为 Lambda 作为文件中的每一行都需要转换为 JSON、解析,然后作为请求传递给特定的 API 端点,并捕获响应以最终报告整个过程。但是还有其他资源,没有发现任何似乎更符合要求的资源。
标签: amazon-web-services aws-step-functions