如何创建使用S3Event触发的micronaut AWS Lambda函数?

时间:2019-01-05 02:25:24

标签: aws-lambda micronaut

我查看了https://docs.micronaut.io/latest/guide/index.html#functionBeanmicronaut文档,所有示例都假定事件来自API网关,并且请求主体作为POJO发送出去。 Micronaut的无服务器功能是否还可以支持S3Event和所有其他AWS Lambda事件类型?示例:https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example-deployment-pkg.html#with-s3-example-deployment-pkg-java

可以支持以下内容吗?我没有发现Java函数如何映射到AWS通常在RequestHandler<S3Event, String>中期望的Micronaut

package example;

import io.micronaut.function.FunctionBean;
import java.util.function.Consumer;

@FunctionBean("hello-world-java")
public class HelloJavaFunction implements Function<S3Event, String> {

    @Override
    public String apply(S3Event) { 
        return "Hello world!";
    }
}

1 个答案:

答案 0 :(得分:0)

也可以使用MicronautRequestHandler来完成。


@FunctionBean("hello-world-java)
public class HelloJavaFunction extends MicronautRequestHandler<S3Event, String> {

    @Override
    public String execute(final S3Event event) {
        return "Hello world!";
    }
}