为 Lambda 配置 Amazon MSK 事件源
要使用 Amazon MSK 集群作为 Lambda 函数的事件源,您需要创建连接这两个资源的事件源映射。此页面介绍如何为 Amazon MSK 创建事件源映射。
此页面假设您已经正确配置 MSK 集群及其所在的 Amazon Virtual Private Cloud(VPC)。如果您需要设置集群或 VPC,请参阅为 Lambda 配置 Amazon MSK 集群和 Amazon VPC 网络。
主题
将 Amazon MSK 集群用作事件源
当您添加 Apache Kafka 或 Amazon MSK 集群作为 Lambda 函数的触发器时,该集群将用作事件源。
Lambda 根据您指定的起始位置,从您在 CreateEventSourceMapping 请求中指定为 Topics
的 Kafka 主题读取事件数据。成功进行处理后,会将 Kafka 主题提交给 Kafka 集群。
Lambda 按顺序读取每个 Kafka 主题分区的消息。单个 Lambda 负载可以包含来自多个分区的消息。当有更多记录可用时,Lambda 根据您在 CreateEventSourceMapping 请求中指定的 BatchSize 值,继续对记录进行批处理,直到函数赶上主题的速度。
Lambda 处理各个批次后,会提交该批次中消息的偏移量。如果函数为批处理中的任何消息返回错误,Lambda 将重试整批消息,直到处理成功或消息过期为止。您可以将所有重试都失败的记录发送到失败时的目标,以供日后处理。
注意
尽管 Lambda 函数的最大超时限制通常为 15 分钟,但 Amazon MSK、自行管理的 Apache Kafka、Amazon DocumentDB、Amazon MQ for ActiveMQ 和 RabbitMQ 的事件源映射,仅支持最大超时限制为 14 分钟的函数。