Java sample applications for AWS Lambda
The GitHub repository for this guide provides sample applications that demonstrate the use of Java in AWS Lambda. Each sample application includes scripts for easy deployment and cleanup, an AWS CloudFormation template, and supporting resources.
Sample Lambda applications in Java
-
java17-examples
– A Java function that demonstrates how to use a Java record to represent an input event data object. -
java-basic
– A collection of minimal Java functions with unit tests and variable logging configuration. -
java-events
– A collection of Java functions that contain skeleton code for how to handle events from various services such as Amazon API Gateway, Amazon SQS, and Amazon Kinesis. These functions use the latest version of the aws-lambda-java-events library (3.0.0 and newer). These examples do not require the AWS SDK as a dependency. -
s3-java
– A Java function that processes notification events from Amazon S3 and uses the Java Class Library (JCL) to create thumbnails from uploaded image files. -
custom-serialization
– Examples of how to implement custom serialization using popular libraries such as fastJson, Gson, Moshi, and jackson-jr. -
Use API Gateway to invoke a Lambda function – A Java function that scans a Amazon DynamoDB table that contains employee information. It then uses Amazon Simple Notification Service to send a text message to employees celebrating their work anniversaries. This example uses API Gateway to invoke the function.
Running popular Java frameworks on Lambda
-
spring-cloud-function-samples
– An example from Spring that shows how to use the Spring Cloud Function framework to create AWS Lambda functions. -
Serverless Spring Boot Application Demo
– An example that shows how to set up a typical Spring Boot application in a managed Java runtime with and without SnapStart, or as a GraalVM native image with a custom runtime. -
Serverless Micronaut Application Demo
– An example that shows how to use Micronaut in a managed Java runtime with and without SnapStart, or as a GraalVM native image with a custom runtime. Learn more in the Micronaut/Lambda guides . -
Serverless Quarkus Application Demo
– An example that shows how to use Quarkus in a managed Java runtime with and without SnapStart, or as a GraalVM native image with a custom runtime. Learn more in the Quarkus/Lambda guide and Quarkus/SnapStart guide .
If you're new to Lambda functions in Java, start with the java-basic
examples. To get started
with Lambda event sources, see the java-events
examples. Both of these example sets show the use of
Lambda's Java libraries, environment variables, the AWS SDK, and the AWS X-Ray SDK. These
examples require minimal setup and you can deploy them from the command line in less than a minute.