多重触发AWS Lambda或步进功能

问题描述

我目前正在使用Lambda,后者接收一些用户和视频(文件名)数据并将其存储在RDS数据库中。

同时,将视频上传到S3存储桶中,该Lambda功能之外的S3存储桶可降低成本,因为上传可能需要一段时间。

视频上传后,我需要运行FFMPEG以获取一些其他信息,例如视频时长,缩略图等。完成FFMPEG功能后,需要将信息发送到RDS数据库

我的问题是,有时将数据存储在RDS数据库中的第一步要比上载+ FFMPEG步骤花费更长的时间,所以当它尝试存储新数据时,数据库上没有记录。 / p>

我想避免仅使用filename + ffmpeg数据在RDS上创建记录,然后仅对其进行更新。

那么无论如何,只有在创建RDS记录并且文件上传到S3存储桶完成之后,我才能启动Lambda吗?在图中可以清楚地了解我的需求。

预先感谢

Possible Workflow

解决方法

感谢您的提问和对“步进功能”的关注!

听起来,您的解决方法将要求您执行某种轮询,以确保先决条件步骤已完成,然后再执行最终状态。

请查看Poll for Job Status (Lambda,AWS Batch) - AWS Step Functions中的此图,看看这是否是有用的设计模式(针对您的特定用例进行了调整):

Step Functions