Dynamodb流直接进入Elasticsearch而没有其他中间层

问题描述 投票:0回答:1

我们是否可以直接将dynamo db数据流式传输到AWS弹性搜索服务而无需使用logstash,因为使用logstash会产生额外的成本?在我在线阅读的所有文章中,无论是使用logstash还是使用lambda,我们都能实现这一目标。

amazon-web-services elasticsearch logstash amazon-dynamodb amazon-dynamodb-streams
1个回答
1
投票

看来你可以:https://aws.amazon.com/blogs/compute/indexing-amazon-dynamodb-content-with-amazon-elasticsearch-service-using-aws-lambda/

我过去在AWS上使用过DynamoDB,设置了流程以将更改从DynamoDB推送到端点,然后使用Logstash从端点读取并将更改写入ES。现在看来你可以在流上使用Lambda来写入ES而不需要Logstash。

也就是说,Logstash方法还会在启动时迁移dynamoDB表中的所有现有数据。上面列出的流/ lambda方法显然不会这样做。为了提供该功能,本文提到设置一个额外的Kinesis Stream,使用它作为ES编写器lambda的第二个输入,然后运行一些python代码或类似代码将所有现有数据从DB加载到kinesis流中。

这似乎很复杂,并且可能比仅仅使用Logstash来覆盖这两种方案更昂贵。

© www.soinside.com 2019 - 2024. All rights reserved.