使用容器镜像部署 Java Lambda 函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用容器镜像部署 Java Lambda 函数

您可以将 Lambda 函数代码部署为容器镜像。Amazon提供了以下资源,帮助您为 Java 函数构建容器镜像:

  • Lambda 的Amazon基本镜像

    这些基本镜像会预加载一个语言运行时和在 Lambda 上运行镜像所需的其他组件。Amazon为每个基本镜像提供 Dockerfile,以帮助构建容器镜像。

    Amazon 为所有受支持的 .NET 运行时提供 x86_64 架构的基本镜像,并为 .NET Core 3.1 和 .NET 6.0 运行时提供了 arm64 架构的基本镜像。

  • 开源运行时接口客户端

    如果使用社区或私有企业基本镜像,必须将运行时接口客户端添加到基本镜像,使其与 Lambda 兼容。

  • 开源运行时接口模拟器 (RIE)

    Lambda 提供了一个运行时接口模拟器,供您在本地测试函数。Lambda 的基本镜像和自定义运行时的基本镜像包括 RIE。对于其他基本镜像,您可以下载 RIE 以在本地测试镜像

定义为容器镜像的函数的工作流包括以下步骤:

  1. 使用本主题中列出的资源构建容器镜像。

  2. 将镜像上载到 Amazon ECR 容器注册表。请参阅创建镜像中的步骤 7-9。

  3. 创建 Lambda 函数或更新函数代码以将镜像部署到现有函数。

Java 的 Amazon 基本镜像

Amazon 为 Java 提供了以下基本镜像:

标签 运行时 操作系统 Dockerfile

11

Java 11 (Corretto) Amazon Linux 2 GitHub 上的适用于 Java 11 的 Dockerfile

8.al2

Java 8 (Corretto) Amazon Linux 2 GitHub 上的适用于 Java 8.al2 的 Dockerfile

8

Java 8 (OpenJDK) Amazon Linux 2018.03 GitHub 上的适用于 Java 8 的 Dockerfile

Docker Hub 存储库:amazon/aws-lambda-java

Amazon ECR 存储库:gallery.ecr.aws/lambda/java

使用 Java 基本镜像

有关如何使用 Java 基本镜像的说明,请选择 Amazon ECR 存储库Java Lambda 基本镜像usage(使用情况)选项卡。

这些说明也可以在 Docker Hub 存储库中的 Java Lambda 基本镜像中找到。

Java 运行时接口客户端

使用 Apache Maven 程序包管理器安装 Java 的运行时接口客户端。在您的 pom.xml 文件中添加以下内容:

<dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-lambda-java-runtime-interface-client</artifactId> <version>1.0.0</version> </dependency>

有关程序包的详细信息,请参阅 Maven Central 存储库中的 Lambda RIC

您还可以在 GitHub 上的 Amazon Lambda Java 支持库存储库中查看 Java 客户端源代码。

容器镜像驻留在 Amazon ECR 容器注册表中之后,您可以创建并运行 Lambda 函数。

部署容器镜像

对于新函数,您可以在创建函数时部署 Java 镜像。对于现有函数,如果重建容器镜像,则需要通过更新函数代码重新部署镜像。