AWS步骤功能:调用特定步骤的不同实例?

时间:2017-05-23 04:02:30

标签: amazon-web-services aws-lambda aws-step-functions

我有一个项目列表。此列表的长度未知。我想使用循环对每个项目执行一些相当繁重的处理。我想知道是否可以使用状态机来执行此操作。更具体地说,我可以让机器的一个步骤执行循环并为每个项目启动下一步的实例吗?如果不是你会建议什么?目标是尽可能保持无服务器。

P.S。我知道我可以使用步进函数进行迭代,但状态机将在几分钟后超时,如果处理是连续完成的话,我担心没有足够的时间来处理所有项目。

2 个答案:

答案 0 :(得分:1)

通过"无服务器",我希望你的意思是不开始&每天(或定期)手动终止实例。

选项1:将项目放入AWS SQS,启动一个实例,该实例将逐个处理该项目,并在完成所有项目后终止。这里将项目添加到SQS并启动实例可以自动执行,具体取决于项目列表的来源/位置的触发点。

选项2:AWS Batch,如果适用于您的用例,可以并行处理所有项目。

根据触发点,需要额外的组件,例如如果您想每6小时从URL中获取一个项目列表(如Feed),则添加一个cloudwatch预定事件,该事件会触发lambda函数,该函数会下载项目并使用选项1或2。

答案 1 :(得分:-2)

如果你可以进行并行处理,那么只有Lambda会有所帮助。 此外,AWS Lambda仅执行5分钟。 所以,记住这一点!

更多访问here

如果您有其他疑问,请告诉我。