使用 Java 构建 Lambda 函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Java 构建 Lambda 函数

您可以在 Amazon Lambda 中运行 Java 代码。Lambda 为 Java 提供运行时,运行您的代码来处理事件。您的代码在 Amazon Linux 环境中运行,该环境包含来自您所管理的 Amazon Identity and Access Management (IAM) 的角色的 Amazon 凭证。

Lambda 支持以下 Java 运行时。

Java
名称 标识符 操作系统 弃用日期 阻止函数创建 阻止函数更新

Java 21

java21

Amazon Linux 2023

Java 17

java17

Amazon Linux 2

Java 11

java11

Amazon Linux 2

Java 8

java8.al2

Amazon Linux 2

Lambda 提供以下适用于 Java 函数的库:

重要

请勿使用 JDK API 的私有组件,例如私有字段、方法或类。非公共 API 组件可能会在任何更新中更改或删除,从而导致您的应用程序中断。

创建 Java 函数
  1. 打开 Lambda 控制台

  2. 选择 Create function(创建函数)。

  3. 配置以下设置:

    • 函数名称:输入函数名称。

    • 运行时系统:选择 Java 17

  4. 选择 Create function(创建函数)。

  5. 要配置测试事件,请选择测试

  6. 对于事件名称,输入 test

  7. 选择 Save changes(保存更改)。

  8. 要调用该函数,请选择 Test(测试)。

控制台会创建具有名为 Hello 的处理程序类的 Lambda 函数。由于 Java 是编译语言,因此您无法在 Lambda 控制台中查看或编辑源代码,但可以修改源代码的配置、调用源代码以及配置触发器。

注意

要开始在本地环境中开发应用程序,请部署本指南 GitHub 存储库中提供的示例应用程序之一。

Hello 类具有一个名为 handleRequest 的函数,此函数接受事件对象和上下文对象。这是 Lambda 在调用函数时调用的处理函数。Java 函数运行时从 Lambda 获取调用事件并将其传递到处理程序。在函数配置中,处理程序值为 example.Hello::handleRequest

要更新函数的代码,您需要创建一个部署程序包,这是一个包含函数代码的 .zip 文件归档。随着函数开发的进行,您需要将函数代码存储在源代码控制中、添加库和实现部署自动化。首先,通过命令行创建部署程序包并更新代码。

除了调用事件之外,函数运行时还将上下文对象传递给处理程序。上下文对象包含有关调用、函数和执行环境的其他信息。环境变量中提供了更多信息。

您的 Lambda 函数自带一个 CloudWatch 日志组。函数运行时会将有关每次调用的详细信息发送到 CloudWatch Logs。该运行时会中继调用期间函数输出的任何日志。如果您的函数返回错误,则 Lambda 将为错误设置格式,并将其返回给调用方。