我有一个S3存储桶,里面有数以万计的音频文件和数千个视频文件,我需要通过MediaConvert进行转换。
在我继续写一个可以作为lambda运行的函数来迭代bucket并启动所有MediaConvert作业之前,有没有一种不那么费力的方法来实现同样的目标?
AWS Elemental MediaConvert本机没有该功能;然而,有一个GitHub项目利用CloudFormation模板来创建一个用于模拟";Watchfolder";通过Lambda函数在S3和MediaConvert之间进行处理。
以下是该项目的链接:https://github.com/aws-samples/aws-media-services-vod-automation/tree/master/MediaConvert-WorkflowWatchFolderAndNotification
来自项目的README.md文件:
工作流演练
- Ingest用户将视频上传到WatchFolder存储桶/输入文件夹。只有添加到/inputs文件夹的文件才会触发工作流
- s3:PutItem事件触发一个Lambda函数,该函数调用MediaConvert可转换视频
- 转换后的视频通过MediaConvert存储在S3中
- 当转换作业完成时,MediaConvert会发出aws:MediaConvert作业状态更改事件类型为具有作业状态的CloudWatch事件
- COMPLETE和ERROR状态事件触发SNS发送通知订阅者
由于Lambda是由s3:PutItem事件触发的,这意味着您可能必须将这数万个资产移动到/inputs文件夹,这可能会产生成本。