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

时间:2015-09-05 07:37:37

标签: amazon-web-services aws-lambda amazon-kinesis

标题可能有点令人困惑。我会尽力让它更清楚。

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

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

public class ProcessKinesisEvents {
    public void recordHandler(KinesisEvent event, Context context) {
        ...
    }
}

1 个答案:

答案 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函数,因此所有内容都被正确隔离。