我如何利用 AWS::Serverless::LayerVersion 以便在我的 AWS Lambda 函数中使用外部库
How can I utilize AWS::Serverless::LayerVersion in order to use external libraries in my AWS Lambda functions
我需要使用位于本地文件系统上的外部库才能成功执行我的 Lambda 函数。使用 AWS SAM 框架我发现这可以通过指定 AWS::Serverless::LayerVersion
资源来完成。
我不确定这究竟是如何工作的以及如何指定外部库的路径。我需要先将我的外部库部署到 S3 存储桶还是?
您需要在 AWS Lambda 层部分的层上部署 jar
AWS Lambda Layers :
You can configure your Lambda function to pull in
additional code and content in the form of layers. A layer is a ZIP
archive that contains libraries, a custom runtime, or other
dependencies. With layers, you can use libraries in your function
without needing to include them in your deployment package.
以下是使用 AWS lambda 层的步骤
- 编写Lambda层代码
- 封装 Lambda 层
- 部署 Lambda 层
- 附加了一层函数调用方法
- 验证结果
完成函数编写后,确保 pom.xml 包含工件和 maven-shade-plugin
<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>
运行 Maven
mvnclean install and package
请进一步阅读以下内容link
我需要使用位于本地文件系统上的外部库才能成功执行我的 Lambda 函数。使用 AWS SAM 框架我发现这可以通过指定 AWS::Serverless::LayerVersion
资源来完成。
我不确定这究竟是如何工作的以及如何指定外部库的路径。我需要先将我的外部库部署到 S3 存储桶还是?
您需要在 AWS Lambda 层部分的层上部署 jar
AWS Lambda Layers :
You can configure your Lambda function to pull in additional code and content in the form of layers. A layer is a ZIP archive that contains libraries, a custom runtime, or other dependencies. With layers, you can use libraries in your function without needing to include them in your deployment package.
以下是使用 AWS lambda 层的步骤
- 编写Lambda层代码
- 封装 Lambda 层
- 部署 Lambda 层
- 附加了一层函数调用方法
- 验证结果
完成函数编写后,确保 pom.xml 包含工件和 maven-shade-plugin
<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>
运行 Maven
mvnclean install and package
请进一步阅读以下内容link