AWS EventBridge 目标 Java Lambda 函数

Bra*_*nja 9 java amazon-web-services aws-lambda aws-event-bridge

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

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

@Override
  public String handleRequest(SQSEvent event, Context context)
Run Code Online (Sandbox Code Playgroud)

blr*_*blr 1

您需要将请求处理程序从 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 更容易。还有一些链接的示例代码,您可能会发现它们对反序列化很有帮助。