如何创建使用 S3Event 触发的 micronaut AWS Lambda 函数?
Posted
技术标签:
【中文标题】如何创建使用 S3Event 触发的 micronaut AWS Lambda 函数?【英文标题】:How to create a micronaut AWS Lambda function triggered using an S3Event? 【发布时间】:2019-05-31 14:06:04 【问题描述】:我查看了https://docs.micronaut.io/latest/guide/index.html#functionBean 的micronaut
文档,所有示例都假设事件来自API Gateway,并且请求正文作为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
可以支持以下内容吗?我没有找到 AWS 通常期望在 Micronaut
中的 java 函数如何映射到 RequestHandler<S3Event, String>
。
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!";
【问题讨论】:
您的实现看起来正确。你试过吗?函数 bean 的名称必须以micronaut.function.name
的形式出现在 application.yml
中(从 CLI 生成函数时默认完成)
【参考方案1】:
也可以使用 MicronautRequestHandler 来完成。
@FunctionBean("hello-world-java)
public class HelloJavaFunction extends MicronautRequestHandler<S3Event, String>
@Override
public String execute(final S3Event event)
return "Hello world!";
【讨论】:
以上是关于如何创建使用 S3Event 触发的 micronaut AWS Lambda 函数?的主要内容,如果未能解决你的问题,请参考以下文章
DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)
AI-Info-Micron:用内存解决方案演化神经网络智能
AI-Info-Micron:人如其食:人工智能和人类微生物组