使用Lambda从S3将大文件的内容写入Dynamo

2024-06-25 06:53:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个S3存储桶中有多个大型csv文件。我想把他们的数据写入dynamoDB表。 问题是我的函数运行超过15分钟,并且在没有完全写入csv文件VTO DynamoDB的情况下出现超时错误。 那么有没有办法将csv分割成更小的部分呢

到目前为止我试过的东西

this-这不会像预期的那样调用自身(向表中写入几行,然后停止,不会出现任何错误。
aws document-给出了s3fs模块未找到的错误。尝试了许多方法使其正常工作,但未能成功

我还能完成我的任务吗

多谢各位


Tags: 文件csv数据函数awss3错误情况
2条回答

我认为链接解决方案中的扇出方法应该是最好的选择

使用一个主lambda函数,该函数通过将行数(例如,每行1000行)划分为处理lambda的扇出调用来分割处理,该函数将使用Event而不是Tail调用。然后,处理lambda应该只读取分配给它的CSV行(查看here

如果您已经尝试过,您可能会发布部分解决方案吗

我可以通过将dynamodb上的最小写入容量增加到1000来解决我的问题(部分)。我能在10分钟内写出100万张唱片。我仍然需要分割csv文件。此外,使用批处理写入而不是逐行写入每个项目也有很大帮助

相关问题 更多 >