AWS Lambda Java:Lambda无法解压缩文件

时间:2018-06-18 13:37:48

标签: java aws-lambda

我尝试将Java与AWS Lambda一起使用。我创建了一个包含所有依赖项的jar文件(使用maven-assembly-plugin)。上传后,我无法调用lambda。我收到错误Calling the Invoke API failed with message: Lambda was not able to unzip the file。 jar文件是11 MB。我可以用java -jar

执行jar

3 个答案:

答案 0 :(得分:2)

需要告诉

maven-assemply-plugin输出zip,而不是jar。 (我甚至不知道有什么不同!)

将其添加到其配置中:

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-assembly-plugin</artifactId>
     ...
     <configuration>
         ...
         <formats>
            <format>zip</format>
         </formats>
     </configuration>
</plugin>

答案 1 :(得分:1)

同样的问题。

通常,如果lambda函数的.zip或.jar文件大小解压缩后大于 50MB ,则会发生此错误

确保lambda函数代码的大小小于 50MB

答案 2 :(得分:0)

之所以遇到这个问题,是因为打包了Shade插件的JAR既生成了文件,又生成了目录META-INF\version\9

通过排除这些文件,可以再次运行JAR。以下是Maven-shade-plugin的配置部分。

    <configuration>            
      <filters>
        <filter>
          <artifact>*:*</artifact>
          <excludes>
            <exclude>META-INF/*.SF</exclude>
            <exclude>META-INF/*.DSA</exclude>
            <exclude>META-INF/*.RSA</exclude>
            <exclude>META-INF/versions/9</exclude>
            <exclude>META-INF/versions/9/*</exclude>
          </excludes>
        </filter>
      </filters>
    </configuration>