Skip to content

Latest commit

 

History

History

aws-adapter

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

AWS Lambda

AWS Lambdas in Java should be packaged as an Uber JAR.

Packaging

The maven-shade-plugin is used to build the Uber JAR. While configuring it in the pom.xml is the recommended way to use it, here we execute it from the command line to keep the pom.xml file agnostic to the cloud provider.

mvn package shade:shade

# This is the Maven "target" directory
BUILD_DIR=$(mvn help:evaluate -Dexpression=project.build.directory -q -DforceStdout)

# The Maven shade plugin adds the "original-" prefix to the non-shaded JAR.
# Here we select the shaded JAR which does not have this prefix.
JAR_FILE=$(ls ${BUILD_DIR} | grep '.jar$' | grep -v '^original')

Deployment

The AWS documentation describes all the possible ways to deploy your function.

For example, using the UodateFunctionCode API with the aws CLI:

aws lambda update-function-code \
    --function-name ${FUNCTION_NAME} \
    --zip-file fileb://./${BUILD_DIR}/${JAR_FILE}

The handler is always fr.axelop.agnosticserverlessfunctions.FunctionInvoker::handleRequest.