我的目标是将通过SNS订阅接收的数据存储在Amazon Redshift中。我已经成功地使用lambda函数成功地存储了数据,只需通过创建Redshift连接并调用准备好的insert语句即可。尽管lambda确实重用了连接,但我使用连接池来确保不会丢失连接并最终花费5-10秒重新连接。
对于较小规模的测试,此过程效果很好,而且我还不能完全使用我的所有lambda并发性。但是,恐怕当我开始订阅活跃得多的SNS(每秒最多100条记录)时,这种流程可能会引起问题。
虽然我知道aws文档,并且许多在线论坛都建议使用firehose,但它具有可扩展性,我的首要任务之一是降低成本,并且firehose似乎非常昂贵(firehose的价格+中间s3桶的成本)。有没有人有过通过编程存储在Redshift /其他数据库中来绕过Firehose的经验?