【发布时间】:2018-06-18 09:52:15
【问题描述】:
我有一个大文件,我想在 AWS 中使用 Lambda 函数对其进行处理。由于无法控制文件的大小,我想出了解决方案,将文件的处理分配给多个 lambda 函数调用以避免超时。以下是它的工作原理:
- 我专门使用了一个存储桶来接受要处理的新输入文件。
- 我在存储桶上设置了一个触发器来处理每次上传新文件时(我们称之为
uploadHandler) - 读取文件,
uploadHandler测量文件的大小并将其分成相等的块。 - 每个块都被发送到
processorlambda 函数进行处理。
注意事项:
-
uploadHandler确实不读取文件内容。 - 发送到
processor的数据只是一个{ start: #, end: # }。 -
processor的多个实例被并行调用。 - 每个
processor调用都会单独读取自己的文件块并为其生成输出。
到目前为止一切顺利。问题是如何将所有processor 调用的输出合并为一个输出?有人有什么建议吗?以及如何知道所有processors 的执行何时完成?
【问题讨论】:
标签: amazon-web-services aws-lambda