纠正自托管式 Apache Kafka 事件源映射错误
以下主题针对在使用自托管式 Apache Kafka 和 Lambda 时可能遇到的错误和问题提供了故障排除建议。如果您发现某个问题未在此处列出,可以使用此页上的 Feedback 按钮来报告。
有关故障排除的更多帮助,请访问 AWS 知识中心
身份验证和授权错误
如果缺少使用来自 Kafka 集群的数据所需的任何权限,Lambda 会在 LastProcessingResult 下的事件源映射中显示以下错误消息。
集群未能授权 Lambda
对于 SASL/SCRAM 或 mTLS,此错误表明提供的用户不具有以下所有必需的 Kafka 访问控制列表(ACL)权限:
-
DescribeConfigs 集群
-
描述组
-
读取组
-
描述主题
-
读取主题
当您使用所需的 kafka-cluster
权限创建 Kafka ACL 时,请将主题和组指定为资源。主题名称必须与事件源映射中的主题一致。组名称必须与事件源映射的 UUID 一致。
向执行角色添加所需的权限后,更改可能需要几分钟才会生效。
SASL 身份验证失败
对于 SASL/SCRAM 或 SASL/PLAIN,此错误表明提供的登录凭证无效。
服务器未能通过 Lambda 的身份验证
此错误表明 Kafka 代理未能对 Lambda 进行身份验证。出现此错误的可能原因如下:
您没有为 mTLS 身份验证提供客户端证书。
您提供了客户端证书,但未将 Kafka 代理配置为使用 mTLS 身份验证。
Kafka 代理不信任客户端证书。
Lambda 未能对服务器进行身份验证
此错误表明 Lambda 未能对 Kafka 代理进行身份验证。出现此错误的可能原因如下:
Kafka 代理使用自签名证书或私有 CA,但未提供服务器根 CA 证书。
服务器根 CA 证书与签署代理证书的根 CA 不匹配。
主机名验证失败,因为代理的证书未将该代理的 DNS 名称或 IP 地址用作主题替代名称。
提供的证书或私有密钥无效
此错误表明 Kafka 使用者无法使用提供的证书或私有密钥。确保证书和密钥使用 PEM 格式,并且私有密钥加密使用 PBES1 算法。
事件源映射错误
将 Apache Kafka 集群作为 Lambda 函数的事件源添加时,如果您的函数遇到错误,Kafka 使用者将停止处理记录。主题分区的使用者是那些订阅、阅读和处理记录的使用者。您的其他 Kafka 使用者可以继续处理记录,只要他们没有遇到同样的错误即可。
要确定使用者停止的原因,请检查 StateTransitionReason
响应中的 EventSourceMapping
字段。下表列出了您可能收到的事件源错误:
ESM_CONFIG_NOT_VALID
-
事件源映射配置无效。
EVENT_SOURCE_AUTHN_ERROR
-
Lambda 无法对事件源进行身份验证。
EVENT_SOURCE_AUTHZ_ERROR
-
Lambda 没有访问事件源所需的权限。
FUNCTION_CONFIG_NOT_VALID
-
函数配置无效。
注意
如果您的 Lambda 事件记录超过允许的 6 MB 大小限制,那么它们可能处于未处理状态。