我想从s3事件和sns事件触发Lambda函数。

当前版本是这样的:

public class LambdaFunctionHandler implements RequestHandler<S3Event, Object> {

  public Object handleRequest(S3Event input, Context context) {
    context.getLogger().log("S3Event: " + input);
    return null;
  }
}

有什么方法可以处理两种事件类型?

最佳答案

official documentation上所建议,存在低级处理程序。

public class Hello implements RequestStreamHandler{
    public static void handler(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
        int letter;
        while((letter = inputStream.read()) != -1)
        {
            outputStream.write(Character.toUpperCase(letter));
        }
    }
}

通过使用这些处理程序,我可以将请求转换为S3Event和SNSEvent。有一个示例代码here

09-25 21:00