未调用 AWS lambda 事件桥处理程序

AWS lambda event bridge handler not invoked

我有一个 lambda 用于某些处理,另一个用于处理处理 lambda 的错误。我通过自定义事件总线和其中的规则连接它们。

我的事件规则模式如下所示:

{
  "source": ["lambda"]
}

虽然政策声明与此处完全相同https://aws.amazon.com/premiumsupport/knowledge-center/eventbridge-lambda-not-triggered/

通常我遵循故障排除指南(多次),但我只是没有收到 lambda 错误事件(其他事件,例如来自 sagemaker 我在其他地方使用的工作正常)

事件也未显示在事件总线指标中。

我是否必须向“事件发射”lambda(在我的例子中是处理器)添加一些特殊配置。当然,我已经将自定义事件总线配置为“失败时”目的地(在我的例子中是异步的),但是是否还需要其他任何东西,比如权限等等?

希望有人能帮助我,

干杯!

好吧,我自己找到了答案,其实很简单,仔细研究文档就可以找到。

目的地仅在 lambda 被异步调用时起作用,这由许多输入触发器(例如 sns)支持。

然而,我的 lambda 侦听 sqs 队列,并且由于它们依赖于事件源映射,而事件源映射又同步调用 lambda,因此不支持目的地。而是拒绝批处理,直到消息最终移至 dead-letter...

也许我以后可以帮助别人解答;虽然我不得不承认,一旦你阅读了文档,它就很清楚了。

作为一种解决方案,我转向了一种更明确的错误处理方法,即在事件总线上主动提交消息。

干杯!