【发布时间】:2018-06-25 00:04:19
【问题描述】:
我是 AWS 新手。我已经使用 java 在 aws 中实现了一些功能。我的要求是每次插入一个 50MB 的 csv 到 RDS PostgreSQL 实例。
我尝试使用 aws lmabda 服务。但是 5 分钟后 lambda 会停止,所以我就这样放弃了。(lambda 函数的限制)
我遵循的第二步我编写了一个 s3 事件的 java lambda 代码,它将使用 putrecord 命令将 s3 上的 csv 文件读取到 kinesis 流。据我了解,kinesis 能够逐条读取 csv 文件。此 kinesis 流将调用第二个 lambda 函数,该函数将数据保存到 postgreSQL。
一切都很好。但我的困惑是只插入了 32000 条记录。我的 csv 中有 50000 条记录。根据 kinesis 流,它会将每一行作为记录读取,所以每次它都会分别调用 lambda 对吗?那么为什么它没有完全保存呢?
同样在我的 lambda 中,我将 kinesis 配置为
这是满足我要求的正确配置吗?如果我将 batchsize 设为 1,我的函数会插入完整的记录吗?请让我知道你对此的了解。这将是一个很大的帮助,提前谢谢!!!!
【问题讨论】:
标签: postgresql amazon-web-services amazon-s3 lambda amazon-kinesis