从 Kinesis Firehose 转换 Lambda 进行 network/API 次调用

Making network/API calls from a Kinesis Firehose transformation Lambda

我有一个用例,在将其存储到 S3 之前,我需要对发送到我的 Kinesis Firehose 流的有效负载进行 API 调用。

流程为:Kinesis Data Stream -> Kinesis Firehose -> Transformation Lambda -> API 调用以获取与当前记录相关的附加数据 -> Kinesis Firehose -> S3。

基本上,对于我的 Kinesis Firehose 流使用的记录,我需要调用另一个后端服务来获取与该记录相关的额外数据,然后再将其存储在 S3 中供我们的 EMR 作业使用和写入查询。

我的问题是,是否可以从 Kinesis Firehose 转换 Lambda 进行网络调用。我认为应该是因为它只是另一个 Lambda 函数。我还想了解在 Kinesis Firehose 转换 Lambda 中进行 API 调用是否违反最佳实践。

如有任何见解,我们将不胜感激!

我认为在转换 lambda 函数中进行网络调用没有任何问题。您唯一需要确保的是,在按照 aws doc

中所示的 firehose 接受格式进行转换后,您将所有 recordId 返回给 firehose