标题可能有点令人困惑。我会尽力让它更清楚。
假设我有一个AWS Lambda函数,它有两个不同的Kinesis流A和B作为输入事件源。
因此,对于下面的内容,由于KinesisEvent实例包含一批记录,批处理是否包含来自单个流的记录,或者它实际上是否包含来自流A和B的记录?
public class ProcessKinesisEvents {
public void recordHandler(KinesisEvent event, Context context) {
...
}
}
答案 0 :(得分:4)
AWS Kinesis流与AWS Lambda功能之间的每个映射都是一个专用实体,来自对CreateEventSourceMapping的调用,由EventSourceArn和{{3}组成},您也为此指定了专用的FunctionName:
POST /2015-03-31/event-source-mappings/ HTTP/1.1
Content-type: application/json
{
"BatchSize": number,
"Enabled": boolean,
"EventSourceArn": "string",
"FunctionName": "string",
"StartingPosition": "string"
}
因此,您将收到的批次仅限于构成resp的单个事件源。映射和其他事件源将相应地单独调用Lambda函数,因此所有内容都被正确隔离。