从Dynamodb向Amazon Elasticsearch发送数据的最佳方式

时间:2017-04-28 09:24:14

标签: elasticsearch logstash amazon-dynamodb aws-sdk

我想知道哪种是从dynamoDB向elasticsearch发送数据的最佳方式。

  1. AWS sdk js。 https://github.com/Stockflare/lambda-dynamo-to-elasticsearch/blob/master/index.js

  2. DynamoDB logstash插件:https://github.com/awslabs/logstash-input-dynamodb

2 个答案:

答案 0 :(得分:3)

关注此AWS博客。他们详细描述了它是如何做和应该做的。

https://aws.amazon.com/blogs/compute/indexing-amazon-dynamodb-content-with-amazon-elasticsearch-service-using-aws-lambda/

修改

我假设您使用AWS elasticsearch托管服务。

  1. 您应该使用Dynamodb流来收听更改(其中,您将有新事件添加到dynamodb中)。
  2. 创建新的Kinesis Firehose流,设置为将所有记录输出到elasticsearch实例。
  3. 创建一个由DynamoDB流中的新项事件触发的新lambda。
  4. lambda将获取唯一的DynamoDB记录ID,以便您可以获取它,获取记录有效负载并将其提取到Firehose流端点。
  5. 根据您的DynamoDB记录大小,您可以启用该选项以在流项目中包含记录的有效负载,因此您不需要从表中获取它并使用预配置的容量你已经设定好了。

答案 1 :(得分:2)

我建议在DynamoDB上创建AWS Lambda流,然后从Lambda获取该数据并将其写入ElasticSearch。