【问题标题】:What's the different between upload a zip file and jar file to aws lambda? Why zip file doesn't work将 zip 文件和 jar 文件上传到 aws lambda 有什么不同?为什么zip文件不起作用
【发布时间】:2021-08-31 14:20:25
【问题描述】:

我想将我的 lambda 代码上传到 aws lambda 控制台,这可以由另一个亚马逊服务触发,但问题是,我的 jar 文件很大,超过 50MB,因为是生产代码,有很多库,所以我无法上传 jar 文件。 zip 文件大约 300KB,但是当我上传 zip 文件时,它一直显示错误“找不到类:事件处理程序”。

我用一个只有 lambda 东西没有其他依赖项的简单项目对其进行测试,当我上传 jar 文件并对其进行测试时,它可以工作,但是当我上传 zip 文件时,出现错误“找不到类:EventHandler”

将 zip 文件和 jar 文件上传到 aws lambda 有什么不同?如何解决我的问题?

package myService.lambda

public class EventHandler implements RequestHandler<SQSEvent, String>{

    @Override
    public void handleRequest(SQSEvent event, Context context) {
        
    }
}

{
  "errorMessage": "Class not found: EventHandler",
  "errorType": "java.lang.ClassNotFoundException"
}

【问题讨论】:

    标签: amazon-web-services aws-lambda


    【解决方案1】:

    使用 Java Lambda 运行时 API 的 Java 项目通常会打包到 JAR 中。如果您的 JAR 大于 50 MB,则无法直接上传。但是,您可以将其上传到 Amazon Simple Storage Service (Amazon S3) 存储桶,然后通过控制台将 Lambda 指向该对象。见:

    【讨论】:

    • 您好,我遇到了上面的错误,但是我的jar文件是150MB,小于262144000字节,为什么会这样?
    • 您是否尝试通过 Amazon S3 存储桶上传它?
    • 我编辑了截图,上传到s3,然后尝试从s3上传
    • 所以 - 它作为 JAR 工作,但是当它是 ZIP 时出现错误?
    • 我上传了jar文件,出现这个错误,不知道为什么会出现这个错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多