Amazon web services 如何利用AWS::Serverless::LayerVersion在AWS Lambda函数中使用外部库

Amazon web services 如何利用AWS::Serverless::LayerVersion在AWS Lambda函数中使用外部库,amazon-web-services,aws-lambda,serverless-framework,aws-sam-cli,Amazon Web Services,Aws Lambda,Serverless Framework,Aws Sam Cli,为了成功执行Lambda函数,我需要使用位于本地文件系统上的外部库。使用AWS SAM框架,我发现这可以通过指定AWS::Serverless::LayerVersionresource来实现 我不确定的是这到底是如何工作的,以及如何指定外部库的路径。我首先需要将外部库部署到S3 bucket还是?您需要在AWS Lambda layers部分的层上部署jar AWS Lambda图层: 您可以将Lambda函数配置为拉入 以层的形式添加代码和内容。一层是拉链 包含库、自定义运行时或其他 依赖关

为了成功执行Lambda函数,我需要使用位于本地文件系统上的外部库。使用AWS SAM框架,我发现这可以通过指定
AWS::Serverless::LayerVersion
resource来实现


我不确定的是这到底是如何工作的,以及如何指定外部库的路径。我首先需要将外部库部署到S3 bucket还是?

您需要在AWS Lambda layers部分的层上部署jar

AWS Lambda图层:

您可以将Lambda函数配置为拉入 以层的形式添加代码和内容。一层是拉链 包含库、自定义运行时或其他 依赖关系。对于层,可以在函数中使用库 无需将它们包含在部署包中

以下是使用AWS lambda图层的步骤

  • 编写Lambda层代码
  • 封装Lambda层
  • 部署Lambda层
  • 附加层以调用函数方法
  • 验证结果
完成函数编写后,确保pom.xml包含工件和maven shade插件

<groupId>java-lambda-layer</groupId>
<artifactId>java-lambda-layer</artifactId>
<version>1.0-SNAPSHOT</version>
<build> 
<plugins> 
<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-shade-plugin</artifactId> 
<version>2.3</version> 
<configuration> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> 
<executions> 
<execution> 
<phase>package</phase> 
<goals> 
<goal>shade</goal> 
</goals> 
</execution> 
</executions> 
</plugin> 
</plugins> 
</build>
请进一步阅读以下链接

 mvnclean install and package