如果一个AWS Lambda函数有多个Kinesis流的事件源,那么传入记录的批次是来自单个Kinesis流还是混合的?

7

标题可能有点令人困惑,我尽力使它更清晰。

假设我有一个 AWS Lambda 函数,它有两个不同的 Kinesis 流 A 和 B 作为输入事件源。

因此,对于下面的内容,由于 KinesisEvent 实例包含一批记录,该批记录是否包含来自单个流的记录,还是实际上它包含来自 A 和 B 两个流的记录?

public class ProcessKinesisEvents {
    public void recordHandler(KinesisEvent event, Context context) {
        ...
    }
}
1个回答

7
每个AWS Kinesis流和AWS Lambda函数之间的映射都是通过调用CreateEventSourceMapping创建的专用实体,由EventSourceArnFunctionName组成,同时您还需要相应地指定专用Batch Size。请注意,保留HTML标签。
POST /2015-03-31/event-source-mappings/ HTTP/1.1
Content-type: application/json

{
    "BatchSize": number,
    "Enabled": boolean,
    "EventSourceArn": "string",
    "FunctionName": "string",
    "StartingPosition": "string"
}

因此,您将收到的批次受限于构成响应映射的单个事件源,每个其他事件源都将相应地产生对您的Lambda函数的单独调用,以确保一切都被正确隔离。

谢谢,讲解得非常好。 - Gordon Tai
你有什么想法,为什么API将事件源放在记录上而不是KinesisEvent上? - Upio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接