【发布时间】:2019-10-19 13:54:36
【问题描述】:
我试图找出在随机添加文件时一次在 S3 中处理多个文件的逻辑。为了讨论起见,这里有一个例子:
- 文件随机添加到 S3 存储桶;突发或随机间隔
- 一旦 S3 存储桶中有 9 个文件,就会触发 Lambda 函数; lambda 函数将这些文件后处理或组合在一起。
- 处理后,文件将被移动到另一个存储桶或删除。
这是我尝试过的:
- 我有所有 S3 放置的 S3 触发器
- 在我的 lambda 函数中,我忽略文件名本身并根据键列出 S3 存储桶以计算存在多少文件
- 问题是当流量突发或稳定到达但速度很快时,很难识别唯一的 9 个文件组
- 出于性能原因,我在文件名上添加了 uuid 前缀,因此不存在顺序文件名。
- 我考虑过将元数据写入 nosql 数据库,但还没有走这条路。
【问题讨论】:
-
也许预定的 lambda 可以实现这一点?
-
可能,但如果我将时间表设置为接近实时(比如每 5 秒),它可能无法按预期工作。我不能保证我的函数会在
-
对于仅添加3个文件(或数量少于9个)并且2小时没有更多文件或流量的情况,您是否希望lambda处理这3个文件?这些文件有多大?文件是如何放入存储桶的?应用程序接口?还是用户直接使用 URL 发起的?
标签: python-3.x aws-lambda amazon-sqs