Kinesis Firehose 流接收消息。有一个选项可以持久保存到 S3 中,但我的用例是插入到 dynamodb 表中。Firehose 有一个启用 Lambda 函数的选项。我应该使用 Lambda 将插入逻辑写入 dynamodb 表吗?这是正确的方法吗?如果是这样,那么如何使用用 Java 编写的 Lambda 将记录插入到 DynamoDB 中。
1 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
没有将 Firehose 流数据插入 DynamoDB(例如 S3 或 Redshift)的标准方法。推荐的方法是执行 Lambda 并将记录插入到 DynamoDB 中。
使用dynamoDB.batchWriteItem
或dynamoDB.putItem
。
public String handleRequest(KinesisFirehoseEvent event, Context context)
List<KinesisFirehoseEvent.Record> records = event.getRecords();
for(KinesisFirehoseEvent.Record rec : records)
{
String recordId = rec.getRecordId();
String data = StandardCharsets.UTF_8.decode(rec.getData()).toString();
Item item = transformStringToItem(data);
// Write the item to the table
table.putItem(item);
}
return "success";
}
添加回答
举报
0/150
提交
取消