我想知道将数据从 dynamoDB 发送到 elasticsearch 的最佳方式是什么。
AWS SDK js。https://github.com/Stockflare/lambda-dynamo-to-elasticsearch/blob/master/index.js https://github.com/Stockflare/lambda-dynamo-to-elasticsearch/blob/master/index.js
DynamoDB Logstash 插件:https://github.com/awslabs/logstash-input-dynamodb https://github.com/awslabs/logstash-input-dynamodb
关注此 AWS 博客。他们详细描述了它是如何完成的以及应该如何完成。
https://aws.amazon.com/blogs/compute/indexing-amazon-dynamodb-content-with-amazon-elasticsearch-service-using-aws-lambda/ https://aws.amazon.com/blogs/compute/indexing-amazon-dynamodb-content-with-amazon-elasticsearch-service-using-aws-lambda/
edit
我假设您使用 AWS elasticsearch 托管服务。
- 您应该使用 Dynamodb 流来监听更改(其中,您将有新项目添加到 dynamodb 的事件)。
- 创建新的 Kinesis Firehose 流,将其设置为将所有记录输出到您的 elasticsearch 实例。
- 创建一个由 DynamoDB 流中新项目的事件触发的新 lambda。
- lambda 将获取唯一的 DynamoDB 记录 ID,以便您可以获取它、获取记录负载并将其摄取到 Firehose 流端点。
- 根据您的 DynamoDB 记录大小,您可以启用将记录的有效负载包含在流项目中的选项,这样您就不需要从表中获取它并使用您设置的预置容量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)