使用 Java 构建 Lambda 函数
您可以在 AWS Lambda 中运行 Java 代码。Lambda 为 Java 提供运行时,运行您的代码来处理事件。您的代码在 Amazon Linux 环境中运行,该环境包含来自您所管理的 AWS Identity and Access Management (IAM) 的角色的 AWS 凭证。
Lambda 支持以下 Java 运行时。
名称 | 标识符 | 操作系统 | 弃用日期 | 阻止函数创建 | 阻止函数更新 |
---|---|---|---|---|---|
Java 21 |
|
Amazon Linux 2023 |
未计划 |
未计划 |
未计划 |
Java 17 |
|
Amazon Linux 2 |
未计划 |
未计划 |
未计划 |
Java 11 |
|
Amazon Linux 2 |
未计划 |
未计划 |
未计划 |
Java 8 |
|
Amazon Linux 2 |
未计划 |
未计划 |
未计划 |
Lambda 提供以下适用于 Java 函数的库:
-
com.amazonaws:aws-lambda-java-core
(必需)– 定义处理程序方法接口和运行时传递给处理程序的上下文对象。如果您定义自己的输入类型,则这是您唯一需要的库。 -
com.amazonaws:aws-lambda-java-events
– 调用 Lambda 函数服务的事件的输入类型。 -
com.amazonaws:aws-lambda-java-log4j2
– Apache Log4j 2 的 Appender 库,可用于将当前调用的请求 ID 添加到函数日志中。 -
适用于 Java 2.0 的AWS开发工具包
:适用于 Java 编程语言的官方AWS开发工具包。
重要
请勿使用 JDK API 的私有组件,例如私有字段、方法或类。非公共 API 组件可能会在任何更新中更改或删除,从而导致您的应用程序中断。
创建 Java 函数
-
打开 Lambda 控制台
。 -
选择 Create function(创建函数)。
-
配置以下设置:
-
函数名称:输入函数名称。
-
运行时系统:选择 Java 21。
-
-
选择 Create function(创建函数)。
-
要配置测试事件,请选择测试。
-
对于事件名称,输入
test
。 -
选择 Save changes(保存更改)。
-
要调用该函数,请选择 Test(测试)。
控制台会创建具有名为 Hello
的处理程序类的 Lambda 函数。由于 Java 是编译语言,因此您无法在 Lambda 控制台中查看或编辑源代码,但可以修改源代码的配置、调用源代码以及配置触发器。
注意
要在本地环境中开始应用程序开发,请部署本指南的 GitHub 存储库中提供的其中一个示例应用程序。
Hello
类具有一个名为 handleRequest
的函数,此函数接受事件对象和上下文对象。这是 Lambda 在调用函数时调用的处理函数。Java 函数运行时从 Lambda 获取调用事件并将其传递到处理程序。在函数配置中,处理程序值为 example.Hello::handleRequest
。
要更新函数的代码,您需要创建一个部署程序包,这是一个包含函数代码的 .zip 文件归档。随着函数开发的进行,您需要将函数代码存储在源代码控制中、添加库和实现部署自动化。首先,通过命令行创建部署程序包并更新代码。
除了调用事件之外,函数运行时还将上下文对象传递给处理程序。上下文对象包含有关调用、函数和执行环境的其他信息。环境变量中提供了更多信息。
您的 Lambda 函数附带了 CloudWatch Logs 日志组。函数运行时会将每次调用的详细信息发送到 CloudWatch Logs。该运行时会中继调用期间函数输出的任何日志。如果您的函数返回错误,则 Lambda 将为错误设置格式,并将其返回给调用方。