Java AWS Lambda能否执行使用命令行运行程序实现的Spring引导应用程序?

Java AWS Lambda能否执行使用命令行运行程序实现的Spring引导应用程序?,java,spring-boot,aws-lambda,Java,Spring Boot,Aws Lambda,我的SpringBoot应用程序是使用命令行运行程序(这意味着它不是API)实现的,它是使用java-jar和大量命令行参数执行的。到目前为止,我们一直在AWS EC2上手动运行我们的应用程序,现在为了自动化应用程序执行,我们使用Lambda启动了一个POC。之所以选择Lambda,是因为应用程序必须在SNS事件(用于S3中的文件上载事件)时触发 我已经使用Java运行时配置了lambda函数,并将其附加到SNS主题中。Lambda被成功触发并向我的应用程序Jar发送一个调用,该调用通过S3上传

我的SpringBoot应用程序是使用命令行运行程序(这意味着它不是API)实现的,它是使用java-jar和大量命令行参数执行的。到目前为止,我们一直在AWS EC2上手动运行我们的应用程序,现在为了自动化应用程序执行,我们使用Lambda启动了一个POC。之所以选择Lambda,是因为应用程序必须在SNS事件(用于S3中的文件上载事件)时触发

我已经使用Java运行时配置了lambda函数,并将其附加到SNS主题中。Lambda被成功触发并向我的应用程序Jar发送一个调用,该调用通过S3上传到Lambda函数中。 应用程序的第一步是从S3下载文件,所以我使用S3事件实现LambdaHandler类,如下所示

public class LambdaHandler implements RequestHandler<S3Event, String> {
// Code to fetch S3 object name here which is needed in application processing logic further
}
公共类LambdaHandler实现RequestHandler{
//在这里获取S3对象名的代码,这是应用程序处理逻辑进一步需要的
}
我不知道如何初始化使用命令行运行程序实现的SpringBoot批处理应用程序,这可能吗?
您会推荐另一种方法吗(Jenkins连接到EC2并运行bash脚本从S3下载文件,然后从artifactory下载wget jar文件并运行java-jar build命令执行)

这听起来像是一个X-Y问题()。与其说你需要一个运行Spring Boot应用程序的Lambda,不如问我们你真正问题的可能解决方案。运行Spring Boot应用程序对于Lambda来说似乎非常困难。lambda的设计是轻量级的。请记住,每100毫秒执行一次,您就要付出代价,因此执行时间较短对您是有益的。Amazon确实在执行后“冻结”JVM,但根据我的经验,“冻结”的JVM在一段时间后被丢弃,当触发下一次执行时,整个JVM必须重新初始化(包括启动应用程序)。@Jason-更新了我的提问,你对此有什么建议/解决方案吗?@Turing85-如果它是spring boot中的一个API,而响应时间是一个问题,我就不会选择Lambda来执行。由于它是一个独立的Java应用程序,肯定会在最大lambda超时时间15分钟之前完成执行,所以我不介意lambda。应用程序每天只会触发一次,因此在我们的案例中,lambda的冷启动不是问题。你有什么建议?@inCode我不能提出任何建议,因为我不知道你的确切问题是什么。到目前为止,我没有看到您从Spring boot中获得的好处(因为我不知道您的用例是什么)。与其说你需要一个运行Spring Boot应用程序的Lambda,不如问我们你真正问题的可能解决方案。运行Spring Boot应用程序对于Lambda来说似乎非常困难。lambda的设计是轻量级的。请记住,每100毫秒执行一次,您就要付出代价,因此执行时间较短对您是有益的。Amazon确实在执行后“冻结”JVM,但根据我的经验,“冻结”的JVM在一段时间后被丢弃,当触发下一次执行时,整个JVM必须重新初始化(包括启动应用程序)。@Jason-更新了我的提问,你对此有什么建议/解决方案吗?@Turing85-如果它是spring boot中的一个API,而响应时间是一个问题,我就不会选择Lambda来执行。由于它是一个独立的Java应用程序,肯定会在最大lambda超时时间15分钟之前完成执行,所以我不介意lambda。应用程序每天只会触发一次,因此在我们的案例中,lambda的冷启动不是问题。你有什么建议?@inCode我不能提出任何建议,因为我不知道你的确切问题是什么。到目前为止,我没有看到您从Spring boot中获得的好处(因为我不知道您的用例是什么)。