AWS Lambda 用例:处理 CSV,将值与数据库中的记录进行比较

AWS Lambda use case: Processing CSV, comparing values to records in database

我对处理 CSV 行有特殊要求,每行包含一个数据库行 ID 和其他基本信息(价格、库存量等)。

目前,文件正在通过我的 Restful api 上传,然后在连接到数据库的 EC2 实例上进行处理。它遍历每一行,检查数据库中是否有匹配的行 ID,如果有,它会更新现有行的值,否则,它会在数据库中创建一个新行。

此外,如果 CSV 中存在任何错误(验证问题等),那么我不会处理任何行并完全退出流程(带有错误消息)。

问题是,如果我将其转换为 Lambda 函数,我还需要 Lambda 中的 DB id 检查代码吗?我相信如果 Lambda 必须处理大型 CSV,它会减慢速度。

一种方法是使用一个函数来初始检查 CSV 是否有任何错误并将 CSV 拆分为行部分,然后将它们放入队列(SQS?),使用单独的 Lambdas 来监视队列和在数据库中添加/更新每个的过程。这听起来像是一个合理的解决方案吗?

您推荐的验证 CSV 并将每个更新任务发送到 SQS 队列的方法听起来非常合理。我建议采用这种方法。