为 Lambda 配置 Amazon MSK 事件源 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

为 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 分钟的函数。