在 java 中使用 aws lambda 将记录分批放入 kinesis firehose

Put records in batches to kinesis firehose using aws lambda in java

我需要使用 Java 中编写的 AWS Lambda 将数据批量放入 firehose。 数据是一个字符串列表:["john", "saul", "paul", "jonas"]。 我知道如何在 python 中执行此操作,但我在 Java 中苦苦挣扎。

以下是我需要在 Java 中执行的步骤:

1).构建一个 firehose 客户端。

2).构建一批数据。(假设批大小为 2)

3).将数据放入 firehose。

4).在 firehose 中获取响应并提取未能传递的记录。

如何为 Java 中的所有这些步骤编写代码?

这个用例可以通过使用 Lambda Java 运行时 API 和 Amazon Kinesis Data Firehose Java API.首先,您需要使用 Java 运行时 API 创建一个 Lambda 函数。如果您不知道如何执行此任务,我建议您阅读此 AWS 文档:

Using AWS Step Functions and the AWS SDK for Java to build workflows that sends notifications over multiple channels

本文档教您如何使用 Java 运行时 API 编写 Lambda 函数,以及如何处理从 Lambda 函数调用 AWS 服务所需的 IAM 角色。对于您的用例,您需要创建一个有权使用 Amazon Kinesis Data Firehose.

的 IAM 角色

此外,此 Lambda 函数可以使用各种 AWS SDK 为 Java API 调用其他 AWS 服务。在此示例中,调用 Pinpoint、SES 和 SNS 服务来执行特定功能。对于您的用例,您需要使用 Amazon Kinesis Data Firehose API.

要实现您想做的事情,请务必查看 Amazon Kinesis Data Firehose API V2.

的示例

综上所述,要实现您的用例,您需要使用 Java 运行时 API 编写 Lambda 函数并使用 Amazon Kinesis Data Firehose API 来自 Lambda 函数,类似于上述教程如何使用其他 AWS 服务 Java APIs.