为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 Kinesis Firehose 数据传递到 dynamodb 表?

如何将 Kinesis Firehose 数据传递到 dynamodb 表?

料青山看我应如是 2023-10-19 18:22:16
Kinesis Firehose 流接收消息。有一个选项可以持久保存到 S3 中,但我的用例是插入到 dynamodb 表中。Firehose 有一个启用 Lambda 函数的选项。我应该使用 Lambda 将插入逻辑写入 dynamodb 表吗?这是正确的方法吗?如果是这样,那么如何使用用 Java 编写的 Lambda 将记录插入到 DynamoDB 中。
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

没有将 Firehose 流数据插入 DynamoDB(例如 S3 或 Redshift)的标准方法。推荐的方法是执行 Lambda 并将记录插入到 DynamoDB 中。

使用dynamoDB.batchWriteItemdynamoDB.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";

}


查看完整回答
反对 回复 2023-10-19
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信