Lea*_*oop 3 java amazon-s3 amazon-web-services amazon-dynamodb aws-lambda
Kinesis Firehose 流接收消息。
有一个选项可以保留到 S3,但我的用例是插入到 dynamodb 表中。
Firehose 有一个选项来启用 Lambda 函数。我应该使用 Lambda 将插入逻辑写入 dynamodb 表吗?这是正确的方法吗?
如果是这样,那么如何使用 Java 编写的 Lambda 将记录插入到 DynamoDB 中。
没有将 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";
}
Run Code Online (Sandbox Code Playgroud)
该firehoseStream结构是记录在这里,和Java示例的例子是在这里,并在流水以拉姆达更多信息在这里。
| 归档时间: |
|
| 查看次数: |
3569 次 |
| 最近记录: |