Aws lambda 如何创建使用S3事件触发的micronaut AWS Lambda功能?

Aws lambda 如何创建使用S3事件触发的micronaut AWS Lambda功能?,aws-lambda,micronaut,Aws Lambda,Micronaut,我查看了位于的micronaut文档,所有示例都假设事件来自API网关,请求主体作为POJO发送。Micronaut是否也能为其无服务器功能支持S3Event和所有其他AWS Lambda事件类型?例如: 是否可以支持以下内容?我没有找到java函数如何映射到AWS通常在Micronaut中期望的RequestHandler package example; import io.micronaut.function.FunctionBean; import java.util.function

我查看了位于的
micronaut
文档,所有示例都假设事件来自API网关,请求主体作为POJO发送。Micronaut是否也能为其无服务器功能支持S3Event和所有其他AWS Lambda事件类型?例如:

是否可以支持以下内容?我没有找到java函数如何映射到AWS通常在
Micronaut
中期望的
RequestHandler

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!";
    }
}
包示例;
导入io.micronaut.function.FunctionBean;
导入java.util.function.Consumer;
@FunctionBean(“hello world java”)
公共类HelloJavaFunction实现函数{
@凌驾
公共字符串应用(S3Event){
返回“你好,世界!”;
}
}

也可以使用MicronautRequestHandler完成


@FunctionBean(“hello world java”)
公共类HelloJavaFunction扩展了MicronautRequestHandler{
@凌驾
公共字符串执行(最终S3Event事件){
返回“你好,世界!”;
}
}

您的实现看起来是正确的。您尝试过吗?函数bean的名称必须以
micronaut.function.name
的形式出现在
application.yml
中(从CLI生成函数时默认完成)