2

我正在使用 Java lambda 函数将自定义事件放入 AWS EventBridge。此事件桥的目标是另一个 Java lambda 函数。如何在目标 lambda 函数中接收事件?我的意思是我必须使用的 handleRequest 方法中的输入类型是什么?尝试使用 ScheduledEvent 作为输入类型,但没有成功。搜索了许多 EventBridge API 文档,但没有详细了解如何从 Eventbridge 接收 Java lambda 函数中的数据。

以下是接收 SQS 事件的示例。同样,我应该为 EventBridge 触发的事件使用什么类型?

@Override
  public String handleRequest(SQSEvent event, Context context)
4

2 回答 2

0

您需要将您的请求处理程序从 using 更改RequestHandler<SQSEvent, String>为 using RequestHandler<Map<String,String>, String>。这也将导致您的类/功能发生额外的变化。

EventBridge 事件(计划或您的事件)将在输入中显示为 json 编码字符串。

就个人而言,我发现利用https://docs.aws.amazon.com/lambda/latest/dg/java-handler.html#java-handler-interfaces中定义的 RequestStreamHandler 更容易。还链接了一些示例代码,您可能会发现它们对反序列化很有帮助。

于 2021-02-12T02:51:57.163 回答
0

我能够以 Map<String,Object> 的形式访问事件。地图中的“详细信息”键给出了放在 Eventbridge 中的实际值。

于 2021-02-09T16:18:24.783 回答