AWS Lambda SelfManagedKafka事件源映射的Kafka ACL



我正在尝试使用AWS Lambda SelfManagedKafka事件源映射,如将Lambda与自管理Apache Kafka一起使用中所述。Confluent Cloud正在用于托管事件源将使用的Kafka集群。

然而,在创建事件源映射(通过SAM/CloudFormation模板(时,触发器显示为";最后处理结果":

PROBLEM: Cluster failed to authorize Lambda.

根据指南,此错误表明。。。

提供的用户没有以下所有必需的Kafka访问控制列表(ACL(权限:[list truncated]

我已经验证了组、集群和主题的列出权限是否到位,这让我怀疑问题与以下注意事项有关:

组名称必须与事件源映射的UUID匹配。

我对这一点的初步看法是,它建议组名称必须与创建时生成的事件源映射的物理ID相匹配。我一直无法找到任何进一步的文件来阐明这一点。我想知道是否有人以前遇到过这种情况,可以确认?

如果这是真的,那么预期的工作流程似乎是创建事件源映射,从输出中获取物理ID,然后创建Kafka ACL。

在进一步挖掘之后,我通过AWS控制台手动创建事件源映射,至少找到了这个问题的部分答案。用户界面允许用户可选地指定消费者组标识符的名称,并包括输入字段的以下帮助文本:

要加入的Kafka消费者组的ID。如果指定的使用者组ID不存在,或者将此字段留空,Lambda将生成一个唯一值。

如果没有提供,则事件源映射的UUID似乎就是所使用的值。

作为获取生成的值并使用该名称在Kafka中创建使用者组的替代方案,还可以将集群本身的CREATE权限添加到使用者的ACL中。这使得Lambda也可以在Kafka上创建组。

最新更新