Deploy Java Lambda functions with container images - AWS Lambda

Deploy Java Lambda functions with container images

You can deploy your Lambda function code as a container image. AWS provides the following resources to help you build a container image for your Java function:

  • AWS base images for Lambda

    These base images are preloaded with a language runtime and other components that are required to run the image on Lambda. AWS provides a Dockerfile for each of the base images to help with building your container image.

  • Open-source runtime interface clients

    If you use a community or private enterprise base image, add a runtime interface client to the base image to make it compatible with Lambda.

AWS base images for Java

AWS provides the following base images for Java:

Tags Runtime Operating system Dockerfile

11

Java 11 (Corretto) Amazon Linux 2 Dockerfile for Java 11 on GitHub

8.al2

Java 8 (Corretto) Amazon Linux 2 Dockerfile for Java 8.al2 on GitHub

8

Java 8 (OpenJDK) Amazon Linux 2018.03 Dockerfile for Java 8 on GitHub

Docker Hub repository: amazon/aws-lambda-java

Amazon ECR repository: gallery.ecr.aws/lambda/java

Java runtime interface clients

Install the runtime interface client for Java using the Apache Maven package manager. Add the following to your pom.xml file:

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

For package details, see Lambda RIC in Maven Central Repository.

You can also view the Java client source code in the AWS Lambda Java Support Libraries repository on GitHub.