当我在AWS lambda中运行我的程序时,我收到以下错误
com/amazonaws/services/s3/model/S3ObjectInputStream: java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: com/amazonaws/services/s3/model/S3ObjectInputStream
at dvsa.mib.components.DaggerUploadFileStreamComponent.buildUploadFileStreamService(DaggerUploadFile StreamComponent.java:39)
at dvsa.mib.LambdaHandler.handleRequest(LambdaHandler.java:27)
at dvsa.mib.LambdaHandler.handleRequest(LambdaHandler.java:14)
Caused by: java.lang.ClassNotFoundException: com.amazonaws.services.s3.model.S3ObjectInputStream
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
我已经使用maven打包了在intellij中创建的项目,使用的是mvn clean包。pom包含依赖项。
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.623</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-events</artifactId>
<version>2.2.7</version>
</dependency>
带扩展名
<extensions>
<extension>
<groupId>org.springframework.build</groupId>
<artifactId>aws-maven</artifactId>
<version>5.0.0.RELEASE</version>
</extension>
</extensions>
在它的代码中。我在其他问题中读到,这可能是由于缺少依赖项,但由于我已经包括了上面的问题,所以我不确定缺少了什么。我们将非常感谢您的帮助。谢谢。
发布于 2021-04-25 21:02:17
看起来您正在尝试从AWS Lambda函数中调用Amazon S3操作。有一个多服务示例,它从使用Lambda Java运行时API创建的Lambda函数调用这些服务:
<代码>F29
使用案例是AWS Lambda功能能够检测位于亚马逊简单存储服务(Amazon S3)存储桶中的图像中的个人防护设备(PPE)。它向您展示了如何构建、打包和部署Lambda函数。
参见Creating an AWS Lambda function that detects images with Personal Protective Equipment。
https://stackoverflow.com/questions/67250860
复制相似问题