我遇到了这个问题和答案,展示了如何将数据从dynamodb推送到elasticsearch以进行全文搜索索引。然而,我们的应用程序并没有使用lambdas。相反,我们使用apachecamel来捕获dynamodb流事件,并希望从那里将记录推送到elasticsearch。
因为我们使用的是aws sdk v2,所以我们没有捕获 DynamodbEvent
类别或相应 DynamodbStreamRecord
包含dynamodb记录的record类。相反,我们收到了 software.amazon.awssdk.services.dynamodb.model.Record
对象。既然如此,我们如何在elasticsearch中序列化并随后索引这些数据?在引用的另一个问题中,记录被转换为json字符串,然后发送到elasticsearch。有没有办法用v2做到这一点 Record
上课?这个 ItemUtils
答案中提到的类已经不存在了,所以我不知道还有什么方法可以序列化它。
非常感谢您的帮助!!
1条答案
按热度按时间j9per5c41#
与您提供的示例类似,您可以尝试以下操作:
这个
toJson
方法定义为此类:https://github.com/aaronanderson/aws-java-sdk-v2-utils/blob/master/src/main/java/dynamodbutil.java源代码复制如下:
这个类是这个要点中最初介绍的类的更新版本。
这篇文章还提供了一个链接到Jackson的
AtributeValue
序列化程序,如果您喜欢使用该库进行json序列化。