amazon-web-services - 按放置顺序处理放入 AWS lambda 中的 s3 存储桶中的文件
问题描述
我目前的工作流程如下:
用户将文件放入 s3 存储桶 -> s3 存储桶触发事件到 lambda -> lambda 处理 s3 存储桶中的文件。它还调用其他 lambda。
我想处理多个用户同时将文件放入 s3 存储桶的场景。我想处理文件,以便首先处理文件。为了处理这个问题,我希望 lambda 在 15 分钟内处理每个文件(例如)。
所以,我想使用 SQS 对输入文件放置事件进行排队。S3 可以向 SQS 触发事件。一个 cloudwatch 事件可以每 15 分钟触发一次 lambda,该 lambda 可以轮询 SQS 队列中的第一个 s3 文件丢弃事件,并对其进行处理。
SQS 的问题是标准 SQS 队列不遵守顺序,并且 FIFO SQS 队列与 S3 不兼容(参考:设置从 S3 存储桶到 FIFO SQS 队列的通知时出错,因为需要“.fifo”后缀)
我应该使用什么方法来解决这个问题?
谢谢,
斯瓦加提卡
解决方案
您可以让 Amazon S3 触发 AWS Lambda 函数,然后将文件信息推送到 FIFO Amazon SQS 队列中。
SQS 可以触发 Lambda 有一项新功能,但您必须进行试验以了解该功能如何/是否适用于 FIFO 队列。如果它运作良好,那可以消除“15 分钟”的事情。
推荐阅读
- spotfire - 如何使spotfire取消标记/取消选中所有过滤器作为操作或脚本
- android - Android Studio 3.5.3 中的 SQLite 语句
- javascript - 带有 onchange 的 Javascript 中的动态下拉菜单
- python - 将时间数据 CSV 拆分为不同的年份并将它们绘制在一个图表中
- python - python读取excel文件并保存N个txt文件,其中包含excel的标题和内容
- javascript - 是的验证消息
- c# - ASP.NET MVC 5 在序列化“Data.Item”类型的对象时检测到循环引用
- html - 如果跨度文本(在 iframe 内)等于文本 div 块
- c++ - 您可以在活动的 gdb 会话中包含其他头文件吗?
- azure - Azure API 管理策略 302