【发布时间】:2021-04-08 11:08:06
【问题描述】:
我正在尝试使用 AWS Lambda 将多个小的 JSON 文件(大约 500,000 个 400-500 字节大小的文件,并且不再容易更改)合并到一个大的 CSV 文件中。我有一份工作是这样的:
- 使用 s3.listobjects() 获取密钥
- 使用 s3.getObject() 获取每个 JSON 文件(有更好的方法吗?)
- 在内存中创建一个 CSV 文件(在 nodejs 中执行此操作的最佳方法是什么?)
- 在 S3 中上传该文件
我很想知道是否有更好的方法来做这件事。谢谢!
【问题讨论】:
-
这些文件是否在更改和/或是否正在添加新文件?如果这是一次性的,那么使用像 Lambda 这样的事件驱动环境就没有什么意义了——一个适度的 EC2,旋转起来做你需要的事情会更简单。而且还不清楚列出和读取 500K 文件需要多长时间。
-
@stdunbar 文件不易更改,并且在作业运行时不会添加新文件。这是我拥有的 lambda 工作流程的一部分,所以我试图将所有函数保留在 lambda 中。更容易维护。我想知道nodejs中的writeStream是否有任何优点
-
如果此数据是静态的,那么不能通过 Lambda、EC2 或其他任何方式完成一次,然后再也不会这样做吗?
-
@stdunbar 这就是想法,只对给定文件夹执行一次。我正在尝试找到一种方法来自动化它
标签: json amazon-web-services csv amazon-s3 aws-lambda