带有 AWS MSK 触发器的 AWS Lambda - 角色和事件源必须与云函数位于同一帐户中

AWS Lambda with AWS MSK trigger - Role and event source must be in the same account as the cloud function

我正在尝试部署由 AWS MSK Kafka 触发的 Lambda 函数。我遇到了这个错误 - Role and event source must be in the same account as the cloud function.

这是否意味着AWS MSK和Lambda必须在同一个账户下? 没有办法解决这个问题吗?

如果没有解决方法:

  1. 实施代码内 Kafka 消费者是否可行?
  2. 推荐的触发方式是什么?也许是 cron 表达式?因为我不知道是否有新消息到达该主题。

提前致谢。

来自https://aws.amazon.com/premiumsupport/knowledge-center/lambda-cross-account-kinesis-stream/

Lambda doesn't currently support cross-account triggers from Kinesis or any stream-based sources.

要解决此问题,您可以遵循上述 link 中推荐的架构。对于 Kinesis,整体结构对于 Kakfa 应该保持不变:

  1. 在与Amazon MSK Kafka相同的账户(账户A)中,创建由其触发的Lambda函数。
  2. 使用账户 A 中的 Lambda 函数在另一个账户(账户 B)中调用 Lambda。

以上 link 包含一个警告,即 Kinesis Data Streams 的某些优势不适用于此解决方案,您将需要评估是否同样适用于 MSK Kafka。