

# 为 Lambda 配置 Amazon MSK 事件源
<a name="with-msk-configure"></a>

要使用 Amazon MSK 集群作为 Lambda 函数的事件源，您需要创建连接这两个资源的[事件源映射](invocation-eventsourcemapping.md)。此页面介绍如何为 Amazon MSK 创建事件源映射。

此页面假设您已经正确配置 MSK 集群及其所在的 [Amazon Virtual Private Cloud（VPC）](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)。如果您需要设置集群或 VPC，请参阅[为 Lambda 配置 Amazon MSK 集群和 Amazon VPC 网络](with-msk-cluster-network.md)。要配置错误处理的重试行为，请参阅 [为 Kafka 事件源配置错误处理控件](kafka-retry-configurations.md)。

**Topics**
+ [将 Amazon MSK 集群用作事件源](#msk-esm-overview)
+ [在 Lambda 中配置 Amazon MSK 集群身份验证方法](msk-cluster-auth.md)
+ [为 Amazon MSK 事件源创建 Lambda 事件源映射](msk-esm-create.md)
+ [在 Lambda 中创建跨账户事件源映射](msk-cross-account.md)
+ [Lambda 中的所有 Amazon MSK 事件源配置参数](msk-esm-parameters.md)

## 将 Amazon MSK 集群用作事件源
<a name="msk-esm-overview"></a>

当您添加 Apache Kafka 或 Amazon MSK 集群作为 Lambda 函数的触发器时，该集群将用作[事件源](invocation-eventsourcemapping.md)。

Lambda 根据您指定的[起始位置](kafka-starting-positions.md)，从您在 [CreateEventSourceMapping](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html) 请求中指定为 `Topics` 的 Kafka 主题读取事件数据。成功进行处理后，会将 Kafka 主题提交给 Kafka 集群。

Lambda 按顺序读取每个 Kafka 主题分区的消息。单个 Lambda 负载可以包含来自多个分区的消息。当有更多记录可用时，Lambda 根据您在 [CreateEventSourceMapping](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html) 请求中指定的 BatchSize 值，继续对记录进行批处理，直到函数赶上主题的速度。

Lambda 处理各个批次后，会提交该批次中消息的偏移量。如果函数为批处理中的任何消息返回错误，Lambda 将重试整批消息，直到处理成功或消息过期为止。您可以将所有重试都失败的记录发送到失败时的目标，以供日后处理。

**注意**  
尽管 Lambda 函数的最大超时限制通常为 15 分钟，但 Amazon MSK、自行管理的 Apache Kafka、Amazon DocumentDB、Amazon MQ for ActiveMQ 和 RabbitMQ 的事件源映射，仅支持最大超时限制为 14 分钟的函数。