Creación de funciones de Lambda con Java
Puede ejecutar código Java en AWS Lambda. Lambda proporciona tiempos de ejecución para Java que ejecutan código para procesar eventos. El código se ejecuta en un entorno de Amazon Linux que incluye las credenciales de AWS de un rol de AWS Identity and Access Management (IAM) administrado por usted.
Lambda admite los siguientes tiempos de ejecución de Java.
Nombre | Identificador | Sistema operativo | Fecha de baja | Bloqueo de la función Crear | Bloquear Actualizar función |
---|---|---|---|---|---|
Java 21 |
|
Amazon Linux 2023 |
No programado |
No programado |
No programado |
Java 17 |
|
Amazon Linux 2 |
No programado |
No programado |
No programado |
Java 11 |
|
Amazon Linux 2 |
No programado |
No programado |
No programado |
Java 8 |
|
Amazon Linux 2 |
No programado |
No programado |
No programado |
Lambda proporciona las siguientes bibliotecas de funciones de Java:
-
com.amazonaws:aws-lambda-java-core
(obligatoria): define interfaces de métodos de controlador y el objeto contextual que el entorno de ejecución pasa al controlador. Si define sus propios tipos de entrada, esta es la única biblioteca que necesita. -
com.amazonaws:aws-lambda-java-events
: tipos de entrada de eventos procedentes de servicios que invocan funciones de Lambda. -
com.amazonaws:aws-lambda-java-log4j2
: una biblioteca de appender de Log4j 2 para Apache que puede usar para agregar el ID solicitado en la invocación actual a los registros de funciones. -
SDK de AWS para Java 2.0
: el SDK oficial de AWS para el lenguaje de programación Java.
importante
No utilice componentes privados (por ejemplo, campos, métodos o clases) de la API de JDK. Los componentes de la API que no son públicos pueden cambiar o eliminarse en cualquier actualización, y la aplicación dejará de funcionar.
Para crear una función Java
-
Abra la consola de Lambda
. -
Elija Crear función.
-
Configure los siguientes ajustes:
-
En Nombre de la función: ingrese el nombre de la función.
-
En Tiempo de ejecución, elija Java 21.
-
-
Elija Crear función.
-
Para configurar un evento de prueba, seleccione Prueba.
-
En Nombre del evento, escriba
test
. -
Elija Guardar cambios.
-
Elija Test (Probar) para invocar la función.
La consola crea una función de Lambda con una clase de controlador denominada Hello
. Dado que Java es un lenguaje compilado, no puede ver ni editar el código fuente en la consola de Lambda, pero puede modificar su configuración, invocarla y configurar disparadores.
nota
Para comenzar con el desarrollo de aplicaciones en su entorno local, implemente una de las aplicaciones de ejemplo disponibles en el repositorio de GitHub de esta guía.
La clase Hello
cuenta con una función denominada handleRequest
que toma un objeto de evento y un objeto context. Esta es la función de controlador a la que llama Lambda cuando se invoca la función. El tiempo de ejecución de la función de Java obtiene los eventos de invocación de Lambda y se los pasa al controlador. En la configuración de función, el valor de controlador es example.Hello::handleRequest
.
Para actualizar el código de la función, cree un paquete de implementación, que es un archivo .zip que contiene el código de la función. A medida que avanza su función de desarrollo, querrá almacenar su código de función en el control del código fuente, agregar bibliotecas y automatizar las implementaciones. Comience creando un paquete de implementación y actualizando el código en la línea de comandos.
El tiempo de ejecución de la función pasa un objeto context al controlador, además del evento de invocación. El objeto context contiene información adicional acerca de la invocación, la función y el entorno de ejecución. Hay más información disponible en las variables de entorno.
Su función de Lambda tiene un grupo de registros de Registros de CloudWatch. El tiempo de ejecución de la función envía detalles de cada invocación a Registros de CloudWatch. Se transmite cualquier registro que su función genere durante la invocación. Si su función devuelve un error, Lambda formatea el error y lo devuelve al invocador.
Temas
- Definir el controlador de las funciones de Lambda en Java
- Implementar funciones de Lambda Java con archivos de archivo .zip o JAR
- Implementar funciones Java Lambda con imágenes de contenedor
- Uso de capas para funciones de Lambda en Java
- Mejora del rendimiento de inicio con Lambda SnapStart
- Personalización de la serialización para las funciones Java de Lambda
- Personalice el comportamiento de inicio del tiempo de ejecución de Java para funciones de Lambda
- Uso del objeto de contexto Lambda para recuperar información de funciones de Java
- Registro y supervisión de las funciones de Lambda de Java
- Instrumentación del código Java en AWS Lambda
- Aplicaciones de ejemplo de Java para AWS Lambda