如何解决aws lambda 中多个触发器的 lambda 处理程序
multiple different types of trigger
的 Lambda 处理程序在 Java 中会是什么样子?
我想为 Cloudwatch Event Rule
、S3
设置触发器。我该怎么做?
public class App implements RequestHandler<S3Event,Context>
{
public Context handleRequest(S3Event s3event,Context context) {
System.out.println("welcome to lambda");
}
}
解决方法
使用通用的 Object
可以工作,我使用无服务器框架:
package com.serverless;
import java.util.Collections;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
public class Handler implements RequestHandler<Object,Object> {
private static final Logger LOG = LogManager.getLogger(Handler.class);
@Override
public Object handleRequest(final Object input,final Context context) {
LOG.info("received: {}",input);
return input;
}
}
,
您可以使用 Map<String,String>
作为输入
public class Handler implements RequestHandler<Map<String,String>,String>{
@Override
public String handleRequest(Map<String,String> event,Context context) {
}
}
或者使用 RequestStreamHandler
并将 InputStream 解析为正确的对象。
public class HandlerStream implements RequestStreamHandler {
@Override
public void handleRequest(InputStream inputStream,OutputStream outputStream,Context context) throws IOException {
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。